Saya ada masalah dengan "probe" card intel ether express 10 saya di linux.
Masalahnya gini niih....
Untuk device eth nya saya gunakan module di kernel...pake modul eepro.
kalo baca di HOWTO, eepro ini untuk card Intel Ether Express PRO/10.
Intuisi saya ini untuk Ether Express PRO atau untuk Ether Express 10, dan
kayaknya emang yang paling cocok.
Tetapi waktu saya lakukan :
$ insmod eepro io=0x240 irq=9
( saya pake io address 240 dan irq 9, dan waktu dicoba di windows bisa jalan
dengan riang), yang keluar di layar :
eth0: Intel 82595-based lan card at 0x240, 00:00:00:00:00:00, IRQ 9,
10Base2.
eepro.c: v0.09 7/31/96 Bao C. Ha ([EMAIL PROTECTED])
Naaah itu tuh... addressnya kok 00:00:00:00:00:00 yach ???
Saya yakin seratus persen yang salah bukan io atau irqnya...soalnya kalo
saya coba insmod pake IO address yang lain pasti keluar : eepro
initialization failed....jadi sebenernya si eepro itu udah dikenalin di io
addres 0x240.
Emang siih kalo nekat, terus saya lakukan saya ifconfig, route, dll,
eth0nya bakal jalan...tapi bakal enggak bisa dihubungin dari mesin yang
lain.... lihat nih :
Saya konfig linuxnya buat ip 192.168.0.1
Potongan dari $ifconfig
eth0 Link encap:10Mbps Ethernet HWaddr 00:00:00:00:00:00
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
........
Kalo saya ping dari mesin lain ke 192.168.0.1 bakalan request timed out
.....
Tapi kalo saya ping dari mesin linuxnya sendiri ke 192.168.0.1 siih normal
aja ....
Bagian dua.... :)
Usaha saya berlanjut ke melihat listing modulenya EEPRO.C ...yang penting
kayaknya bagian ini niih :
/* Yes, the 82595 has been found */
---> Ini kalo chip eepronya ketemu
/* Now, get the ethernet hardware address from the EEPROM */
station_addr[0] = read_eeprom(ioaddr, 2);
station_addr[1] = read_eeprom(ioaddr, 3);
station_addr[2] = read_eeprom(ioaddr, 4);
/* Check the station address for the manufacturer's code */
if (station_addr[2] != 0x00aa || (station_addr[1] & 0xff00) != 0x0000) {
eepro = 0;
printk("%s: Intel 82595-based lan card at %#x,",
dev->name, ioaddr);
}
else {
eepro = 1;
printk("%s: Intel EtherExpress Pro/10 at %#x,",
dev->name, ioaddr);
}
/* Fill in the 'dev' fields. */
--> Di sini bagian yang mo mencetak nilai 00:00:00:00:00 tadi
dev->base_addr = ioaddr;
for (i=0; i < 6; i++) {
dev->dev_addr[i] = ((unsigned char *) station_addr)[5-i];
printk("%c%02x", i ? ':' : ' ', dev->dev_addr[i]);
}
Ternyata kalo diliat dari output insmodnya...card saya kayaknya termasuk
yang "Intel 82595-based lan card " (padahal punya saya intel asli lho
cardnya, bukan cuma chipsetnya doang...mungkin versinya lebih baru)
Naah di source di atas khan ada fungsi read_eeprom buat nyari di mana
address yang
00:00:00:00:00 tadi...
isinya yang penting ini niih :
short ee_addr = ioaddr + EEPROM_REG;
dan isi var EEPROM_REG adalah 0x0a ( ada di bagian atas source )
Naaaahh..mungkinkah ini yang berbeda dari card punya saya ??? Ada yang
punya card model ini enggak ???? Intel Ether Express 10 ...asli intel.
Buat yang punya pengalaman sama, atau yang tau solusinya dan bisa ngebantu
saya..... tolong yach
Dian Oktosoma
[EMAIL PROTECTED] :)
-
STOP_LANGGANAN: "unsubscribe id-linux" ke [EMAIL PROTECTED]
MULAI_LANGGANAN: "subscribe id-linux" ke [EMAIL PROTECTED]