Larry, I don't think that sprom_do_read is able to read _ANY_ valid data because if I do it today it results it
r...@openwrt:/# insmod ssb ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x02, vendor 0x4243) ssb: Core 1 found: IEEE 802.11 (cc 0x812, rev 0x04, vendor 0x4243) ssb: Core 2 found: PCMCIA (cc 0x80D, rev 0x01, vendor 0x4243) ssb: Core 3 found: V90 (cc 0x807, rev 0x01, vendor 0x4243) ssb: Core 4 found: PCI (cc 0x804, rev 0x07, vendor 0x4243) ssb: Core 5 found: IEEE 802.11 (cc 0x812, rev 0x04, vendor 0x4243) ssb: Ignoring additional 802.11 core ssb: WARNING: Invalid SPROM CRC (corrupt SPROM) ssb: Unsupported SPROM revision 155 detected. Will extract v1 ssb: Sonics Silicon Backplane found on PCI device 0000:00:01.0 r...@openwrt:/# reading the byte 155 (0x9b). I cannot find this byte in the SPROM which is 014000000400141425430080020002000010001800000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D002C3A8E7F FFFFFFFFFFFFFFFFFFFFFFFFFFFF2130B01198FB4FFE88030B0B3C000000000000003E000F00FF FF000000000000000001EF this was read out using x86 ALIX board and the same WLAN device. If I try to get SPROM on IPX4XX machine, I get: r...@openwrt:/# cat /sys/devices/pci0000\:00/0000\:00\:01.0/ssb_sprom Bad mode in data abort handler detected Internal error: Oops - bad mode: 0 [#1] Modules linked in: ssb [last unloaded: ssb] CPU: 0 Not tainted (2.6.28.10 #10) PC is at 0xffff01fc LR is at ssb_attr_sprom_show+0x7c/0x124 [ssb] pc : [<ffff01fc>] lr : [<bf010704>] psr: a0000092 sp : c3a79e5c ip : 00000001 fp : c3a79ecc r10: c026e1e4 r9 : 00000000 r8 : 0000ffff r7 : c3a9e6c8 r6 : c3a9a000 r5 : 00000065 r4 : 00000000 r3 : c48dd0c8 r2 : c3a79ea4 r1 : 00000001 r0 : d0c80000 Flags: NzCv IRQs off FIQs on Mode IRQ_32 ISA ARM Segment user Control: 000039ff Table: 03a18000 DAC: 00000015 Process cat (pid: 1466, stack limit = 0xc3a78260) Stack: (0xc3a79e5c to 0xc3a7a000) 9e40: d0c80000 9e60: 00000001 c3a79ea4 c48dd0c8 00000000 00000065 c3a9a000 c3a9e6c8 0000ffff 9e80: 00000000 c026e1e4 c3a79ecc 00000001 c3a79e5c bf010704 ffff01fc a0000092 9ea0: ffffffff c3a79eb0 c3a9a000 000000dc bf010850 c3a9e600 c3a9a01c c30f4000 9ec0: c3a79ef8 c3a79ed0 bf010704 bf01085c c30f4000 fffffffb c3a11e24 00000fff 9ee0: c0267420 c3af18f4 c3a79f80 c3a79f0c c3a79efc bf010cc4 bf010694 bf016678 9f00: c3a79f24 c3a79f10 c012e43c bf010ca0 c3af18e0 c38118c0 c3a79f5c c3a79f28 9f20: c00c7548 c012e420 00000003 00001000 bea6ddb0 c3a758e0 00001000 bea6ddb0 9f40: c3a79f80 c0021f84 c3a78000 00000001 c3a79f7c c3a79f60 c008ac1c c00c74b0 9f60: c3a758e0 00000000 00000000 00000003 c3a79fa4 c3a79f80 c008af0c c008ab78 9f80: 00000000 00000000 00000000 00001000 4009c614 bea6ddb0 00000000 c3a79fa8 9fa0: c0021de0 c008aecc 00001000 4009c614 00000003 bea6ddb0 00001000 00074b70 9fc0: 00001000 4009c614 bea6ddb0 00000003 00000000 00000001 00000001 00000003 9fe0: 40052660 bea6dd94 0000db54 40052668 20000010 00000003 00000000 00000000 Backtrace: [<bf010850>] (sprom_do_read+0x0/0xf0 [ssb]) from [<bf010704>] (ssb_attr_sprom_show+0x7c/0x124 [ssb]) [<bf010688>] (ssb_attr_sprom_show+0x0/0x124 [ssb]) from [<bf010cc4>] (ssb_pci_attr_sprom_show+0x30/0x40 [ssb]) [<bf010c94>] (ssb_pci_attr_sprom_show+0x0/0x40 [ssb]) from [<c012e43c>] (dev_attr_show+0x28/0x54) r4:bf016678 [<c012e414>] (dev_attr_show+0x0/0x54) from [<c00c7548>] (sysfs_read_file+0xa4/0x138) r5:c38118c0 r4:c3af18e0 [<c00c74a4>] (sysfs_read_file+0x0/0x138) from [<c008ac1c>] (vfs_read+0xb0/0xfc) [<c008ab6c>] (vfs_read+0x0/0xfc) from [<c008af0c>] (sys_read+0x4c/0x84) r7:00000003 r6:00000000 r5:00000000 r4:c3a758e0 [<c008aec0>] (sys_read+0x0/0x84) from [<c0021de0>] (ret_fast_syscall+0x0/0x2c) r6:bea6ddb0 r5:4009c614 r4:00001000 Code: 00000000 00000000 00000000 00000000 (00000000) ---[ end trace b2171b3eec29f300 ]--- Segmentation fault r...@openwrt:/# Daniel Larry Finger wrote: > Daniel Schmitt wrote: >> Hello Group, >> >> I posted a few days ago my problems with this WLAN minipci card: >> >> Linux OpenWrt 2.6.28.10 #5 Thu Sep 10 20:36:33 CEST 2009 armv5teb unknown >> 00:02.0 0280: 14e4:4325 (rev 02) >> Subsystem: 1414:0004 >> Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr+ >> Stepping- SERR+ FastB2B- DisINTx- >> Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- >> <TAbort- >> <MAbort- >SERR- <PERR- INTx- >> Interrupt: pin A routed to IRQ 27 >> Region 0: Memory at 48020000 (32-bit, non-prefetchable) [disabled] >> [size=8K] >> >> If I use them (2 pieces) in a WP188 from compex, I don't get ssb.ko running. >> Here is the dmesg if I try to load ssb.ko and b43legacy.ko >> PCI: enabling device 0000:00:02.0 (0140 -> 0142) >> ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x02, vendor 0x4243) >> ssb: Core 1 found: IEEE 802.11 (cc 0x812, rev 0x04, vendor 0x4243) >> ssb: Core 2 found: PCMCIA (cc 0x80D, rev 0x01, vendor 0x4243) >> ssb: Core 3 found: V90 (cc 0x807, rev 0x01, vendor 0x4243) >> ssb: Core 4 found: PCI (cc 0x804, rev 0x07, vendor 0x4243) >> ssb: Core 5 found: IEEE 802.11 (cc 0x812, rev 0x04, vendor 0x4243) >> ssb: Ignoring additional 802.11 core >> ssb: WARNING: Invalid SPROM CRC (corrupt SPROM) >> ssb: SPROM revision 251 detected. >> ssb: Unsupported SPROM revision 251 detected. Will extract v1 > > Despite this error, the program is almost doing the right thing. I do > not understand why this happens. There will be a patch coming that > forces the correct extraction. > >> Even the SPROM is readable on the SSB: >> r...@openwrt:/# cat /sys/devices/pci0000:00/0000:00:0c.0/ssb_sprom >> 014000000400141425430080020002000010001800000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF >> FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D00713A0DF9 >> FFFFFFFFFFFFFFFFFFFFFFFFFFFF2130B01198FB4FFE88030B0B3C000000000000003E000F00FF > == > This byte is what it is selecting as the version. The nibble offset is > 195-196 instead of 253-254. > >> FF0000000000000000014D > > Larry > > _______________________________________________ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev