ThinkPadin 3Com 10/100 -verkkokortti
IBM:n ThinkPad-mallisissa kannettavissa tietokoneissa käytettävä 3Comin 10/100 mbit/s verkkokortti ei toimi vanhempien ytimen versioiden kanssa. Version 2.6.14-rc1 jälkeen ongelma on korjattu.
Ongelma koskee ThinkPadin malleja
- A20m, A20p, A21e, A21m, A21p, A22p
- A30, A30p, A31, A31p
- T20, T21, T22
- X20, X21, X22
- TransNote
Ongelman ratkaisu
Helpoin tapa korjata ongelma on päivittää ydin riittävän uuteen versioon, jolloin ongelma poistuu. Vanhempia ytimiä käytettäessä pitää antaa ytimelle käynnistysparametri acpi=off. Käytettäessä Grubia parametri voidaan joko laittaa /boot/grub/menu.lst-tiedostoon tai se voidaan antaa käynnistyksen yhteydessä muokkaamalla samaa riviä. Muokkaaminen onnistuu valitsemalla ensin muokattava kohta Grubin valikosta ja painamalla sitten e:tä. Tämän jälkeen valitaan rivi joka alkaa sanalla kernel ja painetaan sen kohdalla eetä.
Molempia muokkaustapoja käytettäessä sanalla kernel alkavan rivin loppuun kirjoitetaan käynnistysparametri acpi=off. Jos asetuksia muokataan käynnistyksen yhteydessä, saadaan Linux käynnistymään uusilla optioilla painamalla näppäintä b. Huomaa että asetukset eivät tallennu mihinkään.
Ongelman voi yrittää ratkaista myös ajamalla käynnistyksen yhteydessä seuraavanlaisen skriptin
#!/usr/bin/perl
use strict;
my $DRIVER = "3c59x";
my $VENDOR = "10b7";
my $DEVICE = "6056";
my $LSPCI = `lspci -vd $VENDOR:$DEVICE | grep "I/O ports"`;
print "Resetting 3Com ethernet controller... ";
if($LSPCI =~ m|I/O ports at (\d{4})|i) {
my $io = $1;
`rmmod $DRIVER`;
`setpci -H1 -d $VENDOR:$DEVICE COMMAND=0x07 CACHE_LINE_SIZE=0 LATENCY_TIMER=0x40 BASE_ADDRESS_0=0x$io`;
`modprobe $DRIVER`;
print "done.\n";
} else {
print "failed.\n";
}