So I enabled the debugging messages on the hacked up ethernet driver. I've included it at the end, basically this is the Rhine driver with some of the names changed at the moment. (and some not changed :-)

Some questions, not sure why I get "IDE failed to identify unit 0" but while its on the list of things to check out and fix, it seems harmless for now.

The init phase of the ethernet driver finds the MAC as expected matching it to DID 3065. Sets up the TX and RX buffers and BAR addresses. Does some D-link specific code (which I'll probably delete if I can't figure out what it does, remember this is a VIA southbridge, not a D-link card)

It then finds the PHY, hooks the interrupt, and registers the device. So far so good.

Then it sends a BOOTP request, and promptly gets a BOOTP response (assigning it address 192.168.110.108. Which for reasons I don't understand it ignores and trys again.

So that is where I currently am on my journey. Things on the TODO list:
        1) Convert the RHINE constants to VT8235 constants and validate
        2) Hook up the PHY through the eth_phy API (remove inline code)
        3) Optional: Build a simple packet cracker into the debug code
                so that redboot can decode some packets.
        4) configure my RPM so that I don't have to keep walking over to the
           target to power cycle it ;-)

--Chuck



============== Debug Transcript
+IDE failed to identify unit 0 - wrote: b0, read: 0
via_vt8235_init
pci_init_find_rhines
Finished cyg_pci_init();
PCI match vendor 1106 device 3123
PCI match vendor 1106 device b091
PCI match vendor 1180 device 0476
PCI match vendor 1180 device 0476
PCI match vendor 1106 device 3044
PCI match vendor 1106 device 3038
PCI match vendor 1106 device 3038
PCI match vendor 1106 device 3038
PCI match vendor 1106 device 3104
PCI match vendor 1106 device 3177
PCI match vendor 1106 device 0571
PCI match vendor 1106 device 3059
PCI match vendor 1106 device 3065
eth0 = rhine
 Wired to HAL vector 41
Found device on bus 0, devfn 0x90:
 Note that board is active. Probed sizes and CPU addresses invalid!
 Vendor    0x1106
 Device    0x3065
 Command   0x0007, Status 0x0210
 Class/Rev 0x02000074
 Header 0x00
 SubVendor 0x1106, Sub ID 0x0102
 BAR[0]    0x0000dc01 / probed size 0x00000000 / CPU addr 0x0000dc00
 BAR[1]    0xdf02a000 / probed size 0x00000000 / CPU addr 0xdf02a000
 BAR[2]    0x00000000 / probed size 0x00000000 / CPU addr 0x00000000
 BAR[3]    0x00000000 / probed size 0x00000000 / CPU addr 0x00000000
 BAR[4]    0x00000000 / probed size 0x00000000 / CPU addr 0x00000000
 BAR[5]    0x00000000 / probed size 0x00000000 / CPU addr 0x00000000
 eth0 configured
 I/O address = 0x0000dc00
Pre-reset init code for D-Link.
Reload ESA from EEPROM...Done
 Enabled interrupt 41
 **** Device enabled for I/O and Memory and Bus Master
Rhine device SC 0011cec4 CPD 0011ce40
Found MII interface at id 1, status 786d, adv 0x05e1, link 0x45e1
RHINE - eeprom ESA: 75:17:c7:05:04:4d
Allocated 64 bytes at 0012a6d0
Allocated 6176 bytes at 0012a710
Set RDES at 0x0012a6d0 to 0x80000000 0x00000608 0x0012a710 0x0012a6e0
Set RDES at 0x0012a6e0 to 0x80000000 0x00000608 0x0012ad18 0x0012a6f0
Set RDES at 0x0012a6f0 to 0x80000000 0x00000608 0x0012b320 0x0012a700
Set RDES at 0x0012a700 to 0x80000000 0x00000608 0x0012b928 0x0012a710
Set RDES at 0x0012a700 to 0x80000000 0x00000608 0x0012b928 0x0012a6d0
Allocated 64 bytes at 0012bf30
Allocated 6176 bytes at 0012bf70
Set TDES at 0x0012bf30 to 0x00000000 0x00e08000 0x0012bf70 0x0012bf40
Set TDES at 0x0012bf40 to 0x00000000 0x00e08000 0x0012c578 0x0012bf50
Set TDES at 0x0012bf50 to 0x00000000 0x00e08000 0x0012cb80 0x0012bf60
Set TDES at 0x0012bf60 to 0x00000000 0x00e08000 0x0012d188 0x0012bf70
Set TDES at 0x0012bf60 to 0x00000000 0x00e08000 0x0012d188 0x0012bf30
CR0: 04  CR1: 08
vt8235_start
Done
vt8235_can_send
vt8235_send
##Tx descriptor index 0 TDES 0012bf30 buffer 0012bf70
Before TX: Desc (@0x0012bf30) 80000000 00e08156 0012bf70 0012bf40
 Next (@0x0012bf40) 00000000 00e08000 0012c578 0012bf50
vt8235_send:END: ints at TX: 0000
vt8235_RxEvent
RxEvent - CSR: 0x0003
##Rx packet 0 RDES 0012a6d0 stat 00409700
RxEvent good rx - stat: 0x00409700, len: 0x0040
RDES: 00409700 00000608 0012a710 0012a6e0
Packet data at 0x0012a710
ff ff ff ff ff ff 00 e0 21 00 02 d6 08 06 00 01 08 00 06 04 00 01 00 e0 21 00 02 d6 c0 a8 6e fe 00 00 00 00 00 00 c0 a8 6e 6c 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e a6 4f 22 13
vt8235_recv
vt8235_recv : mlen 40, plen 40
vt8235_TxEvent
##Tx packet 0 freed 0012bf30 00000000!
vt8235_can_send
vt8235_send
##Tx descriptor index 1 TDES 0012bf40 buffer 0012c578
Before TX: Desc (@0x0012bf40) 80000000 00e08156 0012c578 0012bf50
 Next (@0x0012bf50) 00000000 00e08000 0012cb80 0012bf60
vt8235_send:END: ints at TX: 0000
vt8235_TxEvent
##Tx packet 1 freed 0012bf40 00000000!
... waiting for BOOTP information


--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Reply via email to