Btw, I scrounged an older SMC 21040 (single port), and I can get access to a cogent multiport (4x) card. (Not sure but I think it is a 21142.)
-- Garrett Steven Stallion wrote: > Masa Murayama wrote: > >> I struggled with gld3 version of dnet for two days. >> During that, I found several issues in dnet and fixed. >> Now dnet passed test08 of nicdrv in PITIN mode. But after test08 >> was completed successfully, the windows system hanged, why? >> > > Was this with my patch applied? If you were testing on the same host you > were running X, it sounds like you may have encountered a panic during > testing. > > >> At the first time, dnet didn't work with my two cards. >> I fixed following bugs, then dnet worked with my 21142 w/ MII PHY. >> > > Interesting. I haven't had any issues with a single-port 21143 and > multi-port 21140. > > >> In dnet_mii_link_cb(): >> need to call mii_getspeed() to get correct speed and duplexmode >> before calling setup_block(). >> >> In dnet_alloc_bufs() >> Added following line after dnetp->rx_buf_vaddr[i] = rp->rbuf_vaddr; >> dnetp->rx_buf_paddr[i] = rp->rbuf_paddr; >> >> >> Test08: >> I think following three issues are important to pass test8 of nicdrv. >> >> Need to fix alloc_descriptor() and its callers. I modified >> alloc_descriptor() to return the index of the allocated tx >> descriptor, which is determined while dnetp->txlock is held. >> Currently the index is determined by the callers without holding >> the txlock. >> >> mac_tx_update() should be called after enough time from the >> no resource event happen. It will avoid race conditions against >> dnet_m_tx() returning with non-zero. >> To do this, I modified dnet_m_tx(), dnet_send(), dnet_intr(), >> dnet_reclaim_Tx_desc(). >> This issue is very difficult and I considered it for long time >> last year. >> >> >> The number of descriptors used for a tx packet should be limited >> by a constant number enough smaller than tx descriptor ring size. >> I modified dnet_m_tx() and dnet_send(). >> >> >> Test9 is not passed yet. I found following operation caused to >> hang the nic. I partially fixed it, but not completed. >> >> # ifconfig dnet0 plumb $hostname up >> # ifconfig dnet0 unplumb >> # ifconfig dnet0 plumb $hostname up (here, the nic hangs) >> >> >> the modified source code is here: >> http://homepage2.nifty.com/mrym3/taiyodo/dnet-0.0.3.tar.gz >> > > Should I fold these changes into my patch or should this be left as an > additional Bug ID ? > > Steve > _______________________________________________ driver-discuss mailing list driver-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/driver-discuss