Bug #1036
closedTypo in PCI ID in 'sln' driver for Silan sc92031 pci ethernet card
0%
Description
Symptom:
PCI Ethernet cards manufactured by Hangzhou Silan Microelectroics with PCI ID
1904:2031 are not detected by the if_sln.ko driver.
Reason:
if_sln driver incorrectly specifies the card's PCI ID.
Details:
The sln driver for Hangzhou Silan SC92031 driver (also Rsltek [sic] 8139D) has
an error in the PCI ID. The correct device ID for the card is 2031 (VID/PID
1903:2031), while the source refers to it as 1904:2301. This prevents the module
from recognizing ethernet cards with dev ID 2031.
I edited the sys/dev/netif/sln/if_sln.c file (around line 81) to change it to
{PCI_VENDOR_SILAN, 0x2031,
"Hangzhou Silan SC92031 10/100 Fast Ethernet" },
After recompiling, installing and finally loading the module, the ethernet card
was detected, and a sln0 interface was created. Apart from several crc and frame
alignment errors, the ethernet card is working fine.
According to http://hardware4linux.info/pci/1904/ there is no Silan ethernet
card with dev ID 0x2301. Further, this card's Linux driver specifies the dev ID
as 0x2031 as well.
Solution:
Please consider making these changes :
1) Replace line 81/82 in sys/dev/netif/sln/if_sln.c to reflect SC92031 instead
of SC92301.
2) Change PCI product symbol and dev ID for SILAN SC92031 in sys/bus/pci/pcidevs
to 0x2031 (line 2554)
3) Modify sys/bus/pci/pcidevs.h accordingly (run the awk script?)