My server is built around my MSI 785GM-P45 mATX Motherboard and AMD Athlon II X4 620 Processor. Per Murphy’s Law, the network driver on the motherboard – the Atheros AR8131 chipset – is not included in OpenSolaris or built by anyone (as of this writing). The closest on the Internet is a set of directions to build the driver for the AR8121 chipset, available here; I used version 2.6.5. Using the AR8121 directions, a semi-working driver for OpenSolaris is able to be built by modifying the adddrv.sh file and adding the line ‘set DEVLIST = ($DEVLIST '"pci1969,1063"') ‘ under the current DEVLIST items, as this is what the network adapter identifies itself as. Using this slight modification, I was able to get the driver added and the module listed (`modinfo|grep atge`). However, even though I can bring the interface up and assign an IP and everything shows that it works, dmesg shows a different story with warnings constantly being thrown:
Aug 23 19:27:48 washington atge: [ID 397352 kern.warning] WARNING: atge0: gem_tx_timeout: tx timeout: tx_active: 0[0] 3[3] (+3), intr 0[0], tx_softq: 3[3] 3[3] (+0), tx_free: 3[3] 64[0] (+61), tx_desc: 0[0] 3[3] (+3), intr: 2[2] (+2),This bit of fun gets repeated about every 5 seconds while the interface is activated, and stops when unplumbed. Hopefully this might be fixed in the next version(s) of Masayuki’s driver, which I would love to have support the AR8131 chipset :D
Aug 23 19:57:43 washington atge: [ID 397352 kern.warning] WARNING: atge0: gem_tx_timeout: tx timeout: tx_active: 0[0] 3[3] (+3), intr 0[0], tx_softq: 3[3] 3[3] (+0), tx_free: 3[3] 64[0] (+61), tx_desc: 0[0] 3[3] (+3), intr: 2[2] (+2),
Aug 23 19:57:47 washington atge: [ID 397352 kern.warning] WARNING: atge0: gem_tx_timeout: tx timeout: tx_active: 0[0] 2[2] (+2), intr 0[0], tx_softq: 2[2] 2[2] (+0), tx_free: 2[2] 64[0] (+62), tx_desc: 0[0] 2[2] (+2), intr: 2[2] (+2),
Aug 23 19:57:55 washington atge: [ID 397352 kern.warning] WARNING: atge0: gem_tx_timeout: tx timeout: tx_active: 0[0] 1[1] (+1), intr 0[0], tx_softq: 1[1] 1[1] (+0), tx_free: 1[1] 64[0] (+63), tx_desc: 0[0] 1[1] (+1), intr: 0[0] (+0),