Удар в бубен:
--- src/linux-2.6.17/drivers/usb/net/asix.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/src/linux-2.6.17/drivers/usb/net/asix.c b/src/linux-2.6.17/drivers/usb/net/asix.c index 12b599a..5d5f5d4 100644 --- a/src/linux-2.6.17/drivers/usb/net/asix.c +++ b/src/linux-2.6.17/drivers/usb/net/asix.c @@ -872,6 +872,11 @@ static const struct usb_device_id products [] = { USB_DEVICE (0x2001, 0x1a00), .driver_info = (unsigned long) &dlink_dub_e100_info, }, { + // DLink DUB-E100 + USB_DEVICE (0x2001, 0x3c05), + .driver_info = (unsigned long) &ax88772_info, +}, { + // Intellinet, ST Lab USB Ethernet USB_DEVICE (0x0b95, 0x1720), .driver_info = (unsigned long) &ax8817x_info, --Это для того, чтобы устройство вообще определилось в системе.
Хаки:
--- src/linux-2.6.17/drivers/usb/net/asix.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/linux-2.6.17/drivers/usb/net/asix.c b/src/linux-2.6.17/drivers/usb/net/asix.c index 5d5f5d4..829c2ef 100644 --- a/src/linux-2.6.17/drivers/usb/net/asix.c +++ b/src/linux-2.6.17/drivers/usb/net/asix.c @@ -589,7 +589,7 @@ static int ax88772_bind(struct usbnet *dev, struct usb_interface *intf) msleep(5); if ((ret = asix_write_cmd(dev, AX_CMD_SW_PHY_SELECT, - 0x0001, 0, 0, buf)) < 0) { + 0x0000, 0, 0, buf)) < 0) { dbg("Select PHY #1 failed: %d", ret); goto out2; } @@ -614,7 +614,7 @@ static int ax88772_bind(struct usbnet *dev, struct usb_interface *intf) if ((ret = asix_read_cmd(dev, AX88772_CMD_READ_NODE_ID, 0, 0, ETH_ALEN, buf)) < 0) { dbg("Failed to read MAC address: %d", ret); - goto out2; + //goto out2; } memcpy(dev->net->dev_addr, buf, ETH_ALEN); @@ -625,7 +625,7 @@ static int ax88772_bind(struct usbnet *dev, struct usb_interface *intf) 0x0010, 2, 2, buf)) < 0) || (*((u16 *)buf) != 0x003b)) { dbg("Read PHY register 2 must be 0x3b00: %d", ret); - goto out2; + //goto out2; } /* Initialize MII structure */ --Тут выкидывается проверка на PHY ID, поскольку ethernet физика стоит на разных ревизиях разная. Плюс меняется что-то для выбора физики. Без этих хаков MAC-уровень заводится нормально, ip присваивается, мак определяется, но физически данные никуда не уходят. Спасибо LKML и людям пишущим в него, за инфу. http://lkml.org/lkml/2006/7/6/132 http://lkml.org/lkml/2007/1/15/156
Комментариев нет:
Отправить комментарий