On 03/12/2012 10:39 AM, althaser wrote:
Dear Larry, I don't know if you are the right person to report this bug, but if you can report to the right place I would be grateful. ATM, the module rtl8192e (r8192e_pci.ko) isn't auto-loaded into the kernel. It is rtl8192se, but this module doesn't work with rtl8192e board. The right module should be r8192e_pci. I have: # lspci -vvv 03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8192E/RTL8192SE Wireless LAN Controller (rev 01) Subsystem: Askey Computer Corp. Device 7160 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 16 Region 0: I/O ports at 3000 [size=256] Region 1: Memory at f0700000 (32-bit, non-prefetchable) [size=16K] Capabilities: [40] Power Management version 3 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [70] Express (v1) Legacy Endpoint, MSI 00 DevCap:MaxPayload 256 bytes, PhantFunc 0, Latency L0s <128ns, L1 <2us ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- DevCtl:Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop- MaxPayload 128 bytes, MaxReadReq 512 bytes DevSta:CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr- TransPend- LnkCap:Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <512ns, L1 <64us ClockPM+ Surprise- LLActRep- BwNot- LnkCtl:ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta:Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- Capabilities: [100 v1] Advanced Error Reporting UESta:DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- UEMsk:DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- UESvrt:DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol- CESta:RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+ CEMsk:RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+ AERCap:First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn- Capabilities: [140 v1] Virtual Channel Caps:LPEVC=0 RefClk=100ns PATEntryBits=1 Arb:Fixed- WRR32- WRR64- WRR128- Ctrl:ArbSelect=Fixed Status:InProgress- VC0:Caps:PATOffset=00 MaxTimeSlots=1 RejSnoopTrans- Arb:Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256- Ctrl:Enable+ ID=0 ArbSelect=Fixed TC/VC=ff Status:NegoPending- InProgress- Capabilities: [160 v1] Device Serial Number ea-db-a7-fe-ff-b6-26-00 $ lshal udi = '/org/freedesktop/Hal/devices/pci_10ec_8192' info.parent = '/org/freedesktop/Hal/devices/pci_8086_3b42' (string) info.product = 'RTL8192E/RTL8192SE Wireless LAN Controller' (string) info.subsystem = 'pci' (string) info.udi = '/org/freedesktop/Hal/devices/pci_10ec_8192' (string) info.vendor = 'Realtek Semiconductor Co., Ltd.' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'pci' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1c.0/0000:03:00.0' (string) pci.device_class = 2 (0x2) (int) pci.device_protocol = 0 (0x0) (int) pci.device_subclass = 128 (0x80) (int) pci.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1c.0/0000:03:00.0' (string) pci.product = 'RTL8192E/RTL8192SE Wireless LAN Controller' (string) pci.product_id = 33170 (0x8192) (int) pci.subsys_product_id = 29024 (0x7160) (int) pci.subsys_vendor = 'Askey Computer Corp.' (string) pci.subsys_vendor_id = 5199 (0x144f) (int) pci.vendor = 'Realtek Semiconductor Co., Ltd.' (string) pci.vendor_id = 4332 (0x10ec) (int) running 3.2.9 kernel version
This is not a bug. There are two kinds of devices that have PCI ID 10ec:8192, and therefore 2 drivers. During the bus scan, it is possible that both of the drivers will be loaded. Each of them tests the PCI revision ID. If it is 0x10, then rtl8192se is the correct driver, whereas if it is 0x01, then r8192e_pci is needed. Kernel 3.2.9 contains the code for these tests.
If the correct driver is loaded first, then the second will never be tested; however, if the wrong one is first, then it will still be in memory, but it will be inactive and have no devices attached to it. That is likely the case with your system.
Is driver r8192e_pci generated for your kernel? What does 'modinfo r8192e_pci' show? A number of distros make the decision not to generate many modules from the staging tree. Perhaps yours is one of them.
Larry -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html