By menno on Aug 18, 2008
After getting OpenSolaris 2008.11 and Solaris Nevada to run on the Medion Akoya E1210 with some workarounds, I spent some evenings and a rainy Sunday on getting things to work even better.
The WiFi chipset in this system is the Ralink RT2790 (pci1814,781) which isn't supported by the
ral(7D)driver yet. I filed 6736786 Need support for Ralink RT2790 for this and donated my WiFi card to the folks in Beijing so they have the hardware to test with.
The Realtek 8101E chipset (pci10ec,8136) is not yet supported by the
rge(7D)driver in current releases, but it is being worked on (6717107 Need to support Realtek 8102EL and new 8101E variants).
I built a copy of the driver with the suggested fix listed in the bug, but the driver still failed to work properly on my system with IP hardware checksum offload enabled. It turned out that the chipset is a slightly different version of the 8101E than the 8101E_B listed in CR 6717107. Unlike other all other chipsets supported by the rge driver, these don't support hardware checksum, so the driver must disable hardware checksum offload for these chipsets. The following patch against the current version of
rge(7D)makes this particular chipset work without having to disable IP hardware checksum globally in /etc/system.
The day after updating the bug with this patch, I received an email from one of the engineers in Beijing with an updated version asking if I could run the HCTS network test on my system (since they don't have this particular variant). The new driver passes the HCTS, so this should work out of the box once the fix for 6717107 is integrated.
Starting X fails horribly:
(EE) GARTInit: Unable to open /dev/agpgart (Resource temporarily unavailable) (WW) intel(0): /dev/agpgart is either not available, or no memory is available for allocation. Using pre-allocated memory only. drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is -1, (No such device or address) drmOpenDevice: open result is -1, (No such device or address) drmOpenDevice: Open failed drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is -1, (No such device or address) drmOpenDevice: open result is -1, (No such device or address) drmOpenDevice: Open failed [drm] failed to load kernel module "i915" (II) intel(0): [drm] drmOpen failed (EE) intel(0): [dri] DRIScreenInit failed. Disabling DRI. (\*\*) intel(0): Framebuffer compression enabled (\*\*) intel(0): Tiling enabled (==) intel(0): VideoRam: 7932 KB (II) intel(0): Attempting memory allocation with tiled buffers. (EE) intel(0): Failed to allocate framebuffer. Is your VideoRAM set too low? (II) intel(0): Tiled allocation failed. (WW) intel(0): Couldn't allocate tiled memory, fb compression disabled (II) intel(0): Attempting memory allocation with untiled buffers. (WW) intel(0): Failed to allocate EXA offscreen memory. (II) intel(0): Untiled allocation failed. (EE) intel(0): Couldn't allocate video memory Fatal server error: AddScreen/ScreenInit failed for driver 0
Using the VESA driver by creating an xorg.conf file worked of course, but that is kind of lame (Compiz anyone?). From the error messages it seemed that agpgart and DRI were not supported for the Intel i945GME.
Looking through the code and webrevs of the initial agpgart and DRI putbacks and for adding i965 support later on, I was able to cook up the following patch that adds agpgart and DRI support for the i945GME. I have filed 6738342 Need support for Intel i945GME to track this. The patch has been lightly tested on my system only, so use with care.
With Ethernet working, a supported WiFi replacement card in the mail, and Compiz now happily running on this Medion Akoya E1210 mini notebook, I declare victory!
With some DIY (I bought this at a DIY store after all), this EUR 399 mini notebook turns out to be a fine Solaris system.