Re: D-Link TX530(dev B)
: Sorry! 我沒敘述清楚.
: 原因是我用Debian2.2安裝時
: 安裝程式抓不到我的D-Link TX530(dev B)
: 所以我就手動insmod via-rhine.o
: 結果insmod Fail
: 所以我用我之前在Rh6.1 patch過的via-rhine.c
: 想自己Compiler
: 結果還是失敗了
: 因為RH6.1的kernerl是2.2.13
: 而Debain kernerl 是2.2.17
: 不知是否2.2.17的via-rhine無法抓到D-Link TX530
: 或是有其他方法能設定D-Link TX530的網路
: 不過我又用Mandrake7.2(kernel 2.2.17)安裝
: 安裝時仍然無法抓到
: 但我用netconf手動設定就起來了
: Debain是否有相似的工具呢?
這張卡可能目前所有的 kernel 版本都不支援,而且很多人都說 performance
不穩定,如果可能的話,最好換一張。
如果一定要用的話,一個簡單的方法是修改 kernel source, 請修改:
/usr/src/linux/drivers/ne/via-rhine.c
找到以下這一段:
static struct pci_id_info pci_tbl[] = {
{ "VIA VT86C100A Rhine-II", 0x1106, 0x6100, 0xffff,
PCI_USES_MEM|PCI_USES_IO|PCI_USES_MEM|PCI_USES_MASTER, 128, via_probe1},
{ "VIA VT3043 Rhine", 0x1106, 0x3043, 0xffff,
PCI_USES_IO|PCI_USES_MEM|PCI_USES_MASTER, 128, via_probe1},
{ "VIA VT3043 Rhine RevB1", 0x1106, 0x3065, 0xffff,
PCI_USES_IO|PCI_USES_MEM|PCI_USES_MASTER, 128, via_probe1},
{0,}, /* 0 terminated list. */
};
注意 "VIA VT3043 Rhine RevB1" 那一行,是您要加入的,同時它的下一行也
下加入。接著,底下:
/* A chip capabilities table, matching the entries in pci_tbl[] above. */
enum chip_capability_flags {CanHaveMII=1, };
struct chip_info {
int io_size;
int flags;
} static cap_tbl[] = {
{128, CanHaveMII, },
{128, CanHaveMII, },
{128, CanHaveMII, },
};
最後的那個 {128, CanHaveMII, }, 也是要加入的。最後您要重新編譯它,用這個
指令:
gcc -DMODULE -D__KERNEL__ -I/usr/src/linux/net/inet -Wall \
-Wstrict-prototypes -O6 -c via-rhine.c \
`[ -f /usr/include/linux/modversions.h ] \
&& echo -DMODVERSIONS`
完成後,試試 insmod 能不能將它載入?可以的話就將它裝到
/lib/modules/<version>/net/
下去吧。
T.H.Hsieh
Reply to: