ASRock ION 330 & Debian Linux
It's a desktop, smaller than my LCD monitor stand.
↑Hardware
Motherboard
Part | Markings | |
CPU GPU NIC Audio BIOS | Intel Atom 330 NVIDIA ION MCP79MX Realtek RTL8211CL VIA VT1708S MX 25L4005A 4Mx1 CMOS SERIAL FLASH (in removable socket) | iSLG9Y Q850A437 (?)?091823 25L 4005APC 12G 3A677000 |
There is one spare header, a 2x7 (minus a key pin) header marked LPC1.
BIOS Setup
It's worth getting at least v.1.60 of the bios since 1.40 slows down the fan another notch and 1.60 adds the option to turn off the excessively bright blue power LED, as opposed to using tape.
Updating can be done simply by unzipping the DOS files onto a FAT32 USB drive, and pressing F6 in the BIOS. The BIOS can read the drive and find appropriate BIOS images, no need to boot any OS.
If you want to overclock it, this page has some tips (I'm too old for that sort of thing).
↑Powersaving/ACPI configuration
CPU Frequency Scaling
No speedstep on this Atom, however I read somewhere that windows can control the BIOS' overclocking ability. Wasn't mentioned in OCTuner config though.
Temperature sensors
There are sensors built into the Atom 330 like any core 2 chip, support to read these will be in 2.6.32. Alternative patch floating about
NVClock (from CVS, 2009-09-02) can read the GPU temperature with -T. Mine seems to idle at 57degC.
Fan Control
There is a windows tool OCTuner to control the fan, fortunately it seems to be a very generic tool that can be configed for all sorts of PCs. This is what the config file says about the ION 330:
[FanConfig] CPUFAN=CPUFANIN0 CHASSISFAN=SYSFANIN [CPUFANIN0] Interface=IOBASE IoPort=0x4934 Multiple=60 [SYSFANIN] Interface=IOBASE IoPort=0x4936 Multiple=60 FanCtlPort=0x4932
According to /proc/ioports, the ports map into the SMBus I/O space (which probably makes sense). You get numbers back too:
bunsen:~# perl -le 'sysopen($raw_port,"/dev/port",O_RDWR); foreach my $p (0x4932,0x4934,0x4936) { sysseek $raw_port,$p,0;sysread $raw_port,$res,2; printf("0x%x: %s\n",$p,unpack("S",$res)*60); }' # Super"silent" (level 1) 0x4932: 37 0x4934: 5100 (85) 0x4936: 3060 (51) # Auto (at minimum I think) 0x4932: 37 0x4934: 5100 (85) 0x4936: 3060 (51) # Normal (level 3) 0x4932: 42 0x4934: 5100 (85) 0x4936: 3720 (62) # Full Speed (level 5) 0x4932: 47 0x4934: 6600 (111) 0x4936: 5400 (90)
↑Other bits
Sound
Sound is provided by a NVidia HDA chip attached to VIA Vinyl™ VT1708 High Definition Audio Codec and Nvidia MCP7A HDMI Codec. Putting the following in /etc/asoundrc will define easy names for outputs and get ALSA to do software upscaling so all sound formats can be played:
pcm.swmix { type dmix ipc_key 313 # any unique number here slave { pcm "monitor" } } pcm.monitor { type plug slave { pcm "hdmi:NVidia" rate 48000 } } pcm.rear_analog { type plug slave { pcm "front:NVidia" rate 48000 } } # Alsa defaults pcm.!default swmix