diff --git a/kernel/branches/net/applications/netcfg/drivers.inc b/kernel/branches/net/applications/netcfg/drivers.inc index 1fb269f763..e06bc8fa64 100644 --- a/kernel/branches/net/applications/netcfg/drivers.inc +++ b/kernel/branches/net/applications/netcfg/drivers.inc @@ -139,6 +139,7 @@ dd 0x0 db 'dec21x4x',0 dd 0x00091011 dd 0x00191011 +dd 0x09851317 dd 0x0 db 'R6040',0 diff --git a/kernel/branches/net/drivers/dec21x4x.asm b/kernel/branches/net/drivers/dec21x4x.asm index 92f52d35d9..d677a2ae33 100644 --- a/kernel/branches/net/drivers/dec21x4x.asm +++ b/kernel/branches/net/drivers/dec21x4x.asm @@ -60,7 +60,6 @@ virtual at ebx .pci_bus dd ? .pci_dev dd ? .irq_line db ? - rb 3 ; alignment .size = $ - device @@ -535,7 +534,12 @@ probe: DEBUGF 1,"Vendor id: 0x%x\n", ax cmp ax, 0x1011 - jne .notfound + je .dec + cmp ax, 0x1317 + je .admtek + jmp .notfound + + .dec: shr eax, 16 DEBUGF 1,"Vendor ok!, device id: 0x%x\n", ax ; TODO: use another method to detect chip! @@ -545,6 +549,13 @@ probe: cmp ax, 0x0019 je .supported_device2 + .admtek: + shr eax, 16 + DEBUGF 1,"Vendor ok!, device id: 0x%x\n", ax + + cmp ax, 0x0985 + je .supported_device + .notfound: DEBUGF 1,"Device not supported!\n" or eax, -1