[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: