看板 DFBSD_submit 關於我們 聯絡資訊
Hi, one of my systems here (Shuttle SN95G5 with AMD 3800/64) had problems with the onboard ethernet adapter dying during large file transfers. The corresponding device, /dev/sk0 in my case, could only be brought back to life with an ifconfig down / up...pretty annoying, especially with all the "dead" file transfer processes (ftp, samba, whatever) hanging around. I googled a bit and found some FreeBSD people having similar problems, but they seem to face "watchdog timeouts" on the sk?-device, which never occured on my system. Furthermore, this issue seems to be related to ASUS components, which my Shuttle doesn't have. So no patch to port...but I came across a copy of the chip manufacturers design specification and finally found out the chip my system has on board (YUKON 88E8001) only has a total of 64k on-chip RAM. The problem is, the sk driver (as we know it) blindly assumes an 128k on-chip RAM buffer, which is obviously incorrect for the 88E8001...but seems to be okay for almost any other chip. So in this special YUKON case, the interface dies on multiple Rx/Tx requests > 64k. I fixed this -- the driver now explicitly checks the available amount of on-chip RAM; please find attached the corresponding patch. Enjoy --j P.S. I tested the new driver the past two days, performing excessive file transfers, and didn't end up with sk0 being dead. ------------------ cd /pub more beer