Hello,
A WG511 card has been working great from FC2 through F7 using the prism54
kernel module, and 1.0.4.3.arm firmware.
I upgraded to F8, and at first used firmware file '1.0.4.3.arm'.
This worked, but produced an warning message on bootup, so I attempted to
upgrade to a newer firmware version trying files from here:
http://www.prism54.org/firmware
However, none of these worked. I attempted to return to 1.0.4.3.arm.
The final condition is a fault on boot-up if the WG511 card is
inserted. The error is shown in the following section of from /var/log/message.
Notice a message about "BUG: unable to handle kernel paging request"
Code:
Mar 29 10:36:13 localhost kernel: NET: Registered protocol family 23
Mar 29 10:36:13 localhost kernel: nsc-ircc, chip->init
Mar 29 10:36:13 localhost kernel: nsc-ircc, Found chip at base=0x02e
Mar 29 10:36:13 localhost kernel: nsc-ircc, driver loaded (Dag Brattli)
Mar 29 10:36:13 localhost kernel: nsc_ircc_open(), can't get iobase of 0x3f8
Mar 29 10:36:13 localhost kernel: nsc-ircc, Found chip at base=0x02e
Mar 29 10:36:13 localhost kernel: nsc-ircc, driver loaded (Dag Brattli)
Mar 29 10:36:13 localhost kernel: nsc_ircc_open(), can't get iobase of 0x3f8
Mar 29 10:36:13 localhost kernel: nsc-ircc 00:09: disabled
Mar 29 10:36:13 localhost kernel: parport_pc 00:08: reported by Plug and Play ACPI
Mar 29 10:36:13 localhost kernel: parport0: PC-style at 0x378 (0x778), irq 7 [PCSPP,TRISTATE]
Mar 29 10:36:13 localhost kernel: BUG: unable to handle kernel paging request at virtual address b2466e48
Mar 29 10:36:13 localhost kernel: printing eip: e0990983 *pde = 00000000
Mar 29 10:36:13 localhost kernel: Oops: 0000 [#1] SMP
Mar 29 10:36:13 localhost kernel: Modules linked in: parport_pc snd_seq_dummy parport snd_intel8x0 irda crc_ccitt snd_ac97_codec ac97_bus snd_seq_oss floppy snd_seq_midi_event snd_seq p54pci p54common pcspkr snd_seq_device serio_raw snd_pcm_oss mac80211 snd_mixer_oss sis900 cfg80211 snd_pcm mii snd_timer snd soundcore snd_page_alloc video output battery ac firewire_ohci firewire_core i2c_sis96x i2c_core button crc_itu_t joydev sr_mod sg cdrom ata_generic pata_acpi pata_sis libata sd_mod scsi_mod ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd
Mar 29 10:36:13 localhost kernel:
Mar 29 10:36:13 localhost kernel: Pid: 921, comm: modprobe Not tainted (2.6.24.3-50.fc8 #1)
Mar 29 10:36:13 localhost kernel: EIP: 0060:[<e0990983>] EFLAGS: 00210283 CPU: 0
Mar 29 10:36:13 localhost kernel: EIP is at p54_parse_firmware+0x140/0x1b6 [p54common]
Mar 29 10:36:13 localhost kernel: EAX: e12a5bc0 EBX: b2466e4c ECX: b468020b EDX: b2466e44
Mar 29 10:36:13 localhost kernel: ESI: dedaf060 EDI: dedaf060 EBP: e0a77f2c ESP: df009d78
Mar 29 10:36:13 localhost kernel: DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Mar 29 10:36:13 localhost kernel: Process modprobe (pid: 921, ti=df009000 task=df26d3b0 task.ti=df009000)
Mar 29 10:36:13 localhost kernel: Stack: 000000d8 ffffffff e0995fdb df009db8 dedae180 b2466e44 00000000 ffffffff
Mar 29 10:36:13 localhost kernel: dedaf060 dedae180 00002000 e09951a1 decbc84c c04097dc 00000000 dedaf188
Mar 29 10:36:13 localhost kernel: de8a2fd8 00000098 00000000 df2ea260 00002000 e0995b30 00000220 df009dfc
Mar 29 10:36:13 localhost kernel: Call Trace:
Mar 29 10:36:13 localhost kernel: [<e09951a1>] p54p_upload_firmware+0xea/0x1ce [p54pci]
Mar 29 10:36:13 localhost kernel: [<c04097dc>] dma_alloc_coherent+0xaa/0xde
Mar 29 10:36:13 localhost kernel: [<e0995b30>] p54p_probe+0x25f/0x60b [p54pci]
Mar 29 10:36:13 localhost kernel: [<c04fb67e>] kobject_get+0xf/0x13
Mar 29 10:36:13 localhost kernel: [<c050a33f>] pci_device_probe+0x36/0x57
Mar 29 10:36:13 localhost kernel: [<c0571991>] driver_probe_device+0xe7/0x165
Mar 29 10:36:13 localhost kernel: [<c0571ab5>] __driver_attach+0x0/0xa5
Mar 29 10:36:13 localhost kernel: [<c0571b25>] __driver_attach+0x70/0xa5
Mar 29 10:36:13 localhost kernel: [<c0570f07>] bus_for_each_dev+0x37/0x59
Mar 29 10:36:13 localhost kernel: [<c05717ef>] driver_attach+0x16/0x18
Mar 29 10:36:13 localhost kernel: [<c0571ab5>] __driver_attach+0x0/0xa5
Mar 29 10:36:13 localhost kernel: [<c05711ed>] bus_add_driver+0x6d/0x197
Mar 29 10:36:13 localhost kernel: [<c050a46e>] __pci_register_driver+0x48/0x74
Mar 29 10:36:13 localhost kernel: [<c044d204>] sys_init_module+0x14d6/0x15f9
Mar 29 10:36:13 localhost kernel: [<c0488e3b>] do_sync_read+0xc7/0x10a
Mar 29 10:36:13 localhost kernel: [<e096e410>] parport_pc_init+0x336/0x343 [parport_pc]
Mar 29 10:36:13 localhost kernel: [<e096b000>] ac97_bus_match+0x0/0x6 [ac97_bus]
Mar 29 10:36:13 localhost kernel: [<e0990000>] p54_fill_eeprom_readback+0x0/0x26 [p54common]
Mar 29 10:36:13 localhost kernel: [<c04051da>] syscall_call+0x7/0xb
Mar 29 10:36:13 localhost kernel: [<c0620000>] xfrm_add_acquire+0x1b5/0x1bc
Mar 29 10:36:13 localhost kernel: =======================
Mar 29 10:36:13 localhost kernel: Code: f6 31 c9 c1 ea 02 eb 14 66 83 7c 19 02 1a 75 08 0f b7 44 19 04 89 47 54 46 83 c1 0a 39 d6 75 e8 8b 54 24 14 8d 5a 08 39 eb 77 12 <8b> 4a 04 8d 04 8b 39 e8 89 44 24 14 0f 86 fa fe ff ff 83 7c 24
Mar 29 10:36:13 localhost kernel: EIP: [<e0990983>] p54_parse_firmware+0x140/0x1b6 [p54common] SS:ESP 0068:df009d78
Mar 29 10:36:13 localhost kernel: ---[ end trace 85bc0be3fb8dd409 ]---
Mar 29 10:36:13 localhost kernel: NET: Registered protocol family 10
Mar 29 10:36:13 localhost kernel: lo: Disabled Privacy Extensions
Mar 29 10:36:13 localhost kernel: ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
Mar 29 10:36:13 localhost kernel: ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
If I unplug the card, boot and then insert the card with 'pccardctl', the
program pccardctl crashes with a segmentation fault. strace on this
program shows the following.
Code:
execve("/sbin/pccardctl", ["pccardctl", "insert"], [/* 27 vars */]) = 0
brk(0) = 0x94a9000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=91577, ...}) = 0
mmap2(NULL, 91577, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f91000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\304Z\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1692524, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f90000
mmap2(0x596000, 1410608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x596000
mmap2(0x6e9000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x153) = 0x6e9000
mmap2(0x6ec000, 9776, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x6ec000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f8f000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7f8f6c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0x6e9000, 8192, PROT_READ) = 0
mprotect(0x592000, 4096, PROT_READ) = 0
munmap(0xb7f91000, 91577) = 0
lstat64("/sys/class/pcmcia_socket/pcmcia_socket0/card_insert", {st_mode=S_IFREG|0200, st_size=4096, ...}) = 0
brk(0) = 0x94a9000
brk(0x94ca000) = 0x94ca000
stat64("/sys/class/pcmcia_socket/pcmcia_socket0/card_insert", {st_mode=S_IFREG|0200, st_size=4096, ...}) = 0
open("/sys/class/pcmcia_socket/pcmcia_socket0/card_insert", O_WRONLY) = 3
write(3, "42", 2 <unfinished ...>
+++ killed by SIGSEGV +++
I am not sure how to approach reseting the card to its 'old' state, or
debugging the firmware situation. Any advice would be much appreciated.
Thanks
Peter