June 7: I have begun. - Prepared skge driver: "make bin/skge.pxe" - setup dhcp server - 'filename skge.pxe"','server ' - setup tftpd - /tftpboot/ - Installed a DGE-530T into an SiS mainboard. Attempted booting file. DHCP and tftp worked ok; but the dge-530T does not provide a boot rom so I booted of the SiS onboard. - "No other adapters found". I will have to verify the hardware ID's entered and that the driver is being loaded. - Rebooted into ubuntu to verify what the hardware ID's of the devices present in the system are; - lspci -n -s 00:04.0 : 1039:0900 (rev 90) - "SiS900 PCI Fast Ethernet (rev 90) - lspci -n -s 00:08.0 : 1186:4b01 (rev 11) - "D-Link System Inc DGE-530T Gigabit Ethernet Adapter (rev 11) (rev 11)" - After several hours of 'putski-ing' around, I began speaking with Marty again. after about 45 minutes, the two of us were unable to determine why building with DEBUG=pci,skge was not enabling debugging. June 8: Around 1:00 pm, i received a call from Marty that he had had Michael figure out what was causing the lack of debugging messages; I pci.c was not being included in the built library because none of its functions were being invoked. - Added a call to adjust_pci_device() to cause make to actually insert debugging messages; and i was off to the races. - Copied the assignment line of adapter->regs from mdeck's code (the 0x4000 offset line). - inserted debug messages to verify my register addresses were correct - Read the mac address from my dhcp server logs: 00:01:6c:d0:16:87 - Read the mac address from my skeleton driver : 00:21:91:91:10:6d ... ... concluded I had read the wrong addresses. Spent about 30 minutes chasing my tail. - Remembered that the nic that was booting and pulling the pxe image from the dhcp/tftp server was NOT the DGE-530T... - Realized i was correctly pulling the mac address already... -June 9 - Performed nothing "productive", but lots of usefull playing. Accessed various registers. Broke my screen a few times by dumping raw register data to the screen as char. - Learned how to perform a software reset of the device; got familiar with several important register locations: 0x0100-0x0105: mac address 0x0118: configuration bits 0x011b: chip information - I'm not entirely sure what of these are important or what to continue with. More tomorrow June 10 I wasn't really sure where to go today; so I ended up playing with IO. Sample output: gPXE initialising devices... skge_probe June 14: almost finished probe()- about 70% done - loaded the rest of the PCI_ROM statements - moved skge_adapter to skge.h (from skge.c) - converted: yukon_reset, genesis_reset, genesis_init, gm_phy_write - wrote: skge_enable_test_mode - all instances of writeb, writew, writel, and writeq's calling statements were corrected - Moved most DBG statements to use DBG2 instead of DBG (such as mac address and other "just checking if this is working" DBG statements) - removed some unnessary statements and added constants to replace them - (such as X = a & b & c & d & e ===> X= ) - Completed: skge_initialize - In progress: probe() - todo in probe(): - skge_devinit() - register_netdev() - request_irq() - skge_show_addr() - pci_set_drvdata() -- Chris