SiS 190/191 Ethernet controler en Asus P5SD2-VM
Me he encontrado con un problema en la tarjeta de red de la placa Asus P5SD2-VM que parece ser general. Se carga el driver y todo parece estar bien, pero no detecta el link de red, cosa que comprobaremos con un ethtool ethX (instalar ethtool si no lo tenéis) que nos dará una salida como ésta:
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 32
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000007 (7)
Link detected: no Fijaros en la linea final, si no detecta el link, procederemos a hacer lo siguiente:
Descargamos las fuentes del kernel de la versión que tengáis: "aptitude install linux-source-2.6.(versión)"
Editamos el módulo /usr/src/linux-source-x/drivers/net/sis190.c y buscamos la sección "mii_chip_table[]" donde tendremos estos contenidos:
{ "Broadcom PHY BCM5461", { 0x0020, 0x60c0 }, LAN, F_PHY_BCM5461 },
{ "Broadcom PHY AC131", { 0x0143, 0xbc70 }, LAN, 0 },
{ "Agere PHY ET1101B", { 0x0282, 0xf010 }, LAN, 0 },
{ "Marvell PHY 88E1111", { 0x0141, 0x0cc0 }, LAN, F_PHY_88E1111 },
{ "Realtek PHY RTL8201", { 0x0000, 0x8200 }, LAN, 0 },
{ NULL, }
};Agregamos la linea { "Atheros PHY AR8012", { 0x004d, 0xd020 }, LAN, 0 }, de tal forma que quede así:
} mii_chip_table[] = {
{ "Atheros PHY AR8012", { 0x004d, 0xd020 }, LAN, 0 },
{ "Broadcom PHY BCM5461", { 0x0020, 0x60c0 }, LAN, F_PHY_BCM5461 },
{ "Broadcom PHY AC131", { 0x0143, 0xbc70 }, LAN, 0 },
{ "Agere PHY ET1101B", { 0x0282, 0xf010 }, LAN, 0 },
{ "Marvell PHY 88E1111", { 0x0141, 0x0cc0 }, LAN, F_PHY_88E1111 },
{ "Realtek PHY RTL8201", { 0x0000, 0x8200 }, LAN, 0 },
{ NULL, }
};Compilamos el módulo y lo cambiamos por el actual que estará en /lib/modules/linux-2.6-x/kernel/drivers/net
Descargamos el módulo y lo cargamos de nuevo y debería funcionar correctamente.
Espero que le sirva a alguien.
