bug? kernel 2.2.1: sk_g16.c fails

D.Stolte (d.stolte@tu-bs.de)
Mon, 01 Feb 1999 00:16:32 +0100


[1.] One line summary of the problem:
-------------------------------------

kernel 2.2.1: sk_g16.c fails

[2.] Full description of the problem/report:
--------------------------------------------

when booting the kernel reports: Unable to handle kernel paging request at virtual address 000cfff0.
it is caused by the functions (with debugging in sk_g16.c on!):
SK_get_stats(struct device *dev)
SK_read_reg(int reg_number)
SK_set_RAP(reg_number) by accessing the io register which is at 0x0cc000 + 0x003ff0

this function is called by accessing /proc/net/dev. in my case it is accessed by a grep in the init-scripts

if debugging is off then the kernel reports the same error later when calling ifconfig which
does a SK_open
SK_read_reg(int reg_number)
SK_set_RAP(reg_number) by accessing the io register which is at 0x0cc000 + 0x003ff0

after getting this error i tried to reserve the memory by the ether= command in lilo but the result is the
same. i have no idea why the driver cant write to 0x0cfff0 if his allocated space is 0x0cc000 to 0x0d0000.

[3.] Keywords (i.e., modules, networking, kernel):
--------------------------------------------------

/* */

[4.] Kernel version (from /proc/version):
-----------------------------------------

2.2.1
[5.] Output of Oops.. message (if applicable) with symbolic information
resolved (see Documentation/oops-tracing.txt)
-----------------------------------------------------------------------

kernel output by klogd:

Jan 31 19:25:36 tgf2 kernel: Linux version 2.2.1 (root@tgf2) (gcc version 2.7.2.3) #25 Sun Jan 31 19:23:06 MET 1999
Jan 31 19:25:36 tgf2 kernel: Detected 166092022 Hz processor.
Jan 31 19:25:36 tgf2 kernel: Console: colour VGA+ 80x25
Jan 31 19:25:36 tgf2 kernel: Calibrating delay loop... 331.78 BogoMIPS
Jan 31 19:25:36 tgf2 kernel: Memory: 62948k/65536k available (1224k kernel code, 412k reserved, 892k data, 60k init)
Jan 31 19:25:36 tgf2 kernel: CPU: Intel Pentium MMX stepping 03
Jan 31 19:25:36 tgf2 kernel: POSIX conformance testing by UNIFIX
Jan 31 19:25:36 tgf2 kernel: PCI: PCI BIOS revision 2.10 entry at 0xfb0d0
Jan 31 19:25:36 tgf2 kernel: PCI: Using configuration type 1
Jan 31 19:25:36 tgf2 kernel: PCI: Probing PCI hardware
Jan 31 19:25:36 tgf2 kernel: Initializing RT netlink socket
Jan 31 19:25:36 tgf2 kernel: Starting kswapd v 1.5
Jan 31 19:25:36 tgf2 kernel: <Sound Blaster 16 (4.13)> at 0x220 irq 5 dma 1,5
Jan 31 19:25:36 tgf2 kernel: <Sound Blaster 16> at 0x330 irq 5 dma 0
Jan 31 19:25:36 tgf2 kernel: <Yamaha OPL3> at 0x388
Jan 31 19:25:36 tgf2 kernel: PIIX3: IDE controller on PCI bus 00 dev 39
Jan 31 19:25:36 tgf2 kernel: PIIX3: not 100% native mode: will probe irqs later
Jan 31 19:25:36 tgf2 kernel: ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:pio, hdb:pio
Jan 31 19:25:36 tgf2 kernel: scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.10/3.2.4
Jan 31 19:25:36 tgf2 kernel: <Adaptec AHA-294X SCSI host adapter>
Jan 31 19:25:36 tgf2 kernel: scsi : 1 host.
Jan 31 19:25:36 tgf2 kernel: Vendor: IBM Model: DDRS-34560 Rev: S92A
Jan 31 19:25:36 tgf2 kernel: Type: Direct-Access ANSI SCSI revision: 02
Jan 31 19:25:36 tgf2 kernel: Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
Jan 31 19:25:36 tgf2 kernel: Vendor: TOSHIBA Model: CD-ROM XM-3701TA Rev: 0236
Jan 31 19:25:36 tgf2 kernel: Type: CD-ROM ANSI SCSI revision: 02
Jan 31 19:25:36 tgf2 kernel: Detected scsi CD-ROM sr0 at scsi0, channel 0, id 4, lun 0
Jan 31 19:25:36 tgf2 kernel: Vendor: IOMEGA Model: ZIP 100 Rev: N*32
Jan 31 19:25:36 tgf2 kernel: Type: Direct-Access ANSI SCSI revision: 02
Jan 31 19:25:36 tgf2 kernel: Detected scsi removable disk sdb at scsi0, channel 0, id 5, lun 0
Jan 31 19:25:36 tgf2 kernel: scsi : detected 1 SCSI cdrom 2 SCSI disks total.
Jan 31 19:25:36 tgf2 kernel: SCSI device sda: hdwr sector= 512 bytes. Sectors= 8925000 [4357 MB] [4.4 GB]
Jan 31 19:25:36 tgf2 kernel: sdb : READ CAPACITY failed.
Jan 31 19:25:36 tgf2 kernel: sdb : status = 1, message = 00, host = 0, driver = 28
Jan 31 19:25:36 tgf2 kernel: sdb : extended sense code = 2
Jan 31 19:25:36 tgf2 kernel: sdb : block size assumed to be 512 bytes, disk size 1GB.
Jan 31 19:25:36 tgf2 kernel: CSLIP: code copyright 1989 Regents of the University of California.

debugging info from sk_g16.c:

Jan 31 19:25:36 tgf2 kernel: SK_G16: $Id: sk_g16.c,v 1.1 1994/06/30 16:25:15 root Exp $## SK_G16: SK_BOOT_ROM is set.
Jan 31 19:25:36 tgf2 kernel: ## SK_G16: Autodetection of Boot_ROM
Jan 31 19:25:36 tgf2 kernel: ## Trying ROM location 0x0c0000 55 aa 40 e9 ce 15
Jan 31 19:25:36 tgf2 kernel: ## Trying ROM location 0x0c4000 00 00 01 00 00 04
Jan 31 19:25:36 tgf2 kernel: ## Trying ROM location 0x0c8000 55 aa 14 e9 ca 26
Jan 31 19:25:36 tgf2 kernel: ## Trying ROM location 0x0cc000 ff ff ff ff ff ff
Jan 31 19:25:36 tgf2 kernel: ## Trying ROM location 0x0d0000 ff ff ff ff ff ff
Jan 31 19:25:36 tgf2 kernel: ## Trying ROM location 0x0d4000 ff ff ff ff ff ff
Jan 31 19:25:36 tgf2 kernel: ## Trying ROM location 0x0d8000 ff ff ff ff ff ff
Jan 31 19:25:36 tgf2 kernel: ## Trying ROM location 0x0dc000 ff ff ff ff ff ff
Jan 31 19:25:36 tgf2 kernel: SK_G16: No Boot_ROM found
Jan 31 19:25:36 tgf2 kernel: ## SK_G16: NO Bootrom found
Jan 31 19:25:36 tgf2 kernel: ## SK_G16: POS registers after ROM, RAM config.
Jan 31 19:25:36 tgf2 kernel: ## pos0=0xfd pos1=0x6a pos2=0x03 pos3=0x0cc000 pos4=0x00

normal info:

Jan 31 19:25:36 tgf2 kernel: eth0: Schneider & Koch Netcard found at 0x390, HW addr: 0x00:00:5a:14:11:bd

debugging info:

Jan 31 19:25:36 tgf2 kernel: ## SK_G16: End of SK_probe.
Jan 31 19:25:36 tgf2 kernel: ## pos0=0xfd pos1=0x6a pos2=0x03 pos3=0x0cc000 pos4=0x00
Jan 31 19:25:36 tgf2 kernel: ## SK_G16: RAM Details.
Jan 31 19:25:36 tgf2 kernel: ## RAM at 0x0cc000 tmdhead: 0x0cc018 rmdhead: 0x0cc028 initblock: 0x0cc000
Jan 31 19:25:36 tgf2 kernel: ##
Jan 31 19:25:36 tgf2 kernel: ## tmdbufs1: 0x0cc068 tmdbufs2: 0x0cc656 ##
Jan 31 19:25:36 tgf2 kernel: ## rmdbufs1: 0x0ccc44 rmdbufs2: 0x0cd232 rmdbufs3: 0x0cd820
Jan 31 19:25:36 tgf2 kernel: ## rmdbufs4: 0x0cde0e rmdbufs5: 0x0ce3fc rmdbufs6: 0x0ce9ea
Jan 31 19:25:36 tgf2 kernel: ## rmdbufs7: 0x0cefd8 rmdbufs8: 0x0cf5c6
Jan 31 19:25:36 tgf2 kernel: ## SK_G16: Device Structure. testing
Jan 31 19:25:36 tgf2 kernel: ## Device Name: eth0 Base Address: 0x0390 IRQ: 11

this is important, i think. the memory is reserved for the card (i put in a printk!)

Jan 31 19:25:36 tgf2 kernel: ## mem_start: 0x0cc000 mem_end: 0x0d0000
Jan 31 19:25:36 tgf2 kernel: ## FLAGS: start: 0 tbusy: 0 int: 0
Jan 31 19:25:36 tgf2 kernel: ## next device: 0xc0246a74 init function: 0xc02592c4

Jan 31 19:25:36 tgf2 kernel: Partition check:
Jan 31 19:25:36 tgf2 kernel: sda: sda1 sda2 sda3 sda4
Jan 31 19:25:36 tgf2 kernel: sdb:scsidisk I/O error: dev 08:10, sector 0
Jan 31 19:25:36 tgf2 kernel: unable to read partition table
Jan 31 19:25:36 tgf2 kernel: VFS: Mounted root (ext2 filesystem) readonly.
Jan 31 19:25:36 tgf2 kernel: Freeing unused kernel memory: 60k freed

kernel failure caused by a grep on /proc/net/dev from init-scripts:

Jan 31 19:25:36 tgf2 kernel: Unable to handle kernel paging request at virtual address 000cfff0
Jan 31 19:25:36 tgf2 kernel: current->tss.cr3 = 03f37000, %cr3 = 03f37000
Jan 31 19:25:36 tgf2 kernel: *pde = 00000000
Jan 31 19:25:36 tgf2 kernel: Oops: 0000
Jan 31 19:25:36 tgf2 kernel: CPU: 0
Jan 31 19:25:36 tgf2 kernel: EIP: 0010:[SK_reset_board+45/76]
Jan 31 19:25:36 tgf2 kernel: EFLAGS: 00010282
Jan 31 19:25:36 tgf2 kernel: eax: 000cc000 ebx: c032d5c0 ecx: c333e142 edx: 00000000
Jan 31 19:25:36 tgf2 kernel: esi: c333e143 edi: c0080a54 ebp: 00000000 esp: c3f39f10
Jan 31 19:25:36 tgf2 kernel: ds: 0018 es: 0018 ss: 0018
Jan 31 19:25:36 tgf2 kernel: Process grep (pid: 66, process nr: 5, stackpage=c3f39000)
Jan 31 19:25:36 tgf2 kernel: Stack: c01c4f73 00000000 c0246b54 c01691c8 c0246b54 00000143 c0246b54 c0169295
Jan 31 19:25:36 tgf2 kernel: c333e143 c0246b54 c0080a40 00000c00 c0080a54 c333e000 00000000 c014914b
Jan 31 19:25:36 tgf2 kernel: c333e000 c3f39f8c 00000000 00000c00 00000000 c0080a40 08014000 00000000
Jan 31 19:25:36 tgf2 kernel: Call Trace: [SK_get_stats+3/40] [sprintf_stats+20/160] [dev_get_info+65/144] [proc_file_re
ad+171/484] [sys_read+190/220] [system_call+52/64]
Jan 31 19:25:36 tgf2 kernel: Code: 66 8b 80 f0 3f 00 00 25 ff ff 00 00 0d 00 00 00 c0 66 89 10

Jan 31 19:25:36 tgf2 kernel: bttv0: Hauppauge eeprom: tuner=Temic 4002FH5 (0)

[6.] A small shell script or example program which triggers the
problem (if possible)
---------------------------------------------------------------

/* */

[7.] Environment
[7.1.] Software (add the output of the ver_linux script here)
-------------------------------------------------------------

Kernel modules 2.1.121
Gnu C 2.7.2.3
Binutils 2.9.1.0.7
Linux C Library 5.4.46
Dynamic linker ldd: version 1.9.9
Linux C++ Library 27.2.8
Procps 1.2.9
Mount 2.9h
Net-tools (1999-01-01)
Kbd 0.89
Sh-utils 1.16

[7.2.] Processor information (from /proc/cpuinfo):
--------------------------------------------------

processor : 0
vendor_id : GenuineIntel
cpu family : 5
model : 4
model name : Pentium MMX
stepping : 3
cpu MHz : 166.092818
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : yes
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr mce cx8 mmx
bogomips : 331.78

[7.3.] Module information (from /proc/modules):
-----------------------------------------------

ip_masq_cuseeme 776 0 (unused)
ip_masq_vdolive 1008 0 (unused)
ip_masq_irc 1332 0 (unused)
ip_masq_raudio 2632 0 (unused)
ip_masq_ftp 2104 0 (unused)
bttv 32892 0 (unused)
tuner 1844 1
i2c 3160 2 [bttv tuner]

[7.4.] SCSI information (from /proc/scsi/scsi)
----------------------------------------------

see kernel output

[7.5.] Other information that might be relevant to the problem

it worked on 2.0.36 with EXACTLY the same configuration:
- same hardware
- same software
- same configuration

/proc/ioports:

0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0220-022f : soundblaster
02f8-02ff : serial(set)
0330-0333 : MPU-401 UART
0378-037f : parport0
0388-038b : OPL3/OPL2
0390-0397 : sk_g16
03c0-03df : vga+
03f8-03ff : serial(auto)
6000-60be : aic7xxx
f000-f007 : ide0

/proc/pci:

PCI devices found:
Bus 0, device 0, function 0:
Host bridge: Intel 82439HX Triton II (rev 3).
Medium devsel. Master Capable. Latency=32.
Bus 0, device 7, function 0:
ISA bridge: Intel 82371SB PIIX3 ISA (rev 1).
Medium devsel. Fast back-to-back capable. Master Capable. No bursts.
Bus 0, device 7, function 1:
IDE interface: Intel 82371SB PIIX3 IDE (rev 0).
Medium devsel. Fast back-to-back capable. Master Capable. Latency=32.
I/O at 0xf000 [0xf001].
Bus 0, device 9, function 0:
Multimedia video controller: Brooktree Bt848 (rev 17).
Medium devsel. Fast back-to-back capable. IRQ 15. Master Capable. Late
ncy=32. Min Gnt=16.Max Lat=40.
Prefetchable 32 bit memory at 0xe2001000 [0xe2001008].
Bus 0, device 10, function 0:
SCSI storage controller: Adaptec AIC-7871 (rev 3).
Medium devsel. Fast back-to-back capable. IRQ 10. Master Capable. Late
ncy=32. Min Gnt=8.Max Lat=8.
I/O at 0x6000 [0x6001].
Non-prefetchable 32 bit memory at 0xe2000000 [0xe2000000].
Bus 0, device 11, function 0:
VGA compatible controller: S3 Inc. Vision 968 (rev 0).
Medium devsel. IRQ 9.
Non-prefetchable 32 bit memory at 0xe0000000 [0xe0000000].

/proc/interrupts:

CPU0
0: 12095 XT-PIC timer
1: 382 XT-PIC keyboard
2: 0 XT-PIC cascade
5: 1 XT-PIC soundblaster
8: 0 XT-PIC rtc
10: 2690 XT-PIC aic7xxx
13: 1 XT-PIC fpu
15: 4501 XT-PIC bttv
NMI: 0

-- 
D.Stolte@tu-bs.de

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/