You think so?

Subscribe to RSS feed

Posts tagged with "debian"

Setting up a squeezebox server on new hardware

, , , ...

A while ago, I bought a Squeezebox Duet. This is a great device duo, with a dumb music player and a remote with a lovely display and iPod-like interface. With it, I can play all the online radio stations in the world, as well as install apps for BBC, SomaFM and the like. One thing was missing though, a way to play my own music. To do so, you need a server that the Squeezebox can stream music from. To make the Squeezebox see your music, you need to install Squeezebox Server on it. Squeezebox Server is written in Perl and uses mysql to index your music. As such, it runs on any system with perl and mysql. It also lets you install plugins for all kinds of things. My favorite is the Spotify plugin, which lets anyone with a Spotify Premium account stream music. Now, to play my own music or to use Spotify on the squeezebox, the server must be running, otherwise I only get to play the online radio stations. While the Squeezebox server runs happily on my laptop, and the laptop is running most of the time when I'm at home, I don't always want to do that, mostly because the fan occationally starts up and makes noise. So I set out to find a server that could run all the time, was silent and hopefully cheap. I ended up building my own server with these components bought at multicom.no, which ended up at a total of NOK 2252,-.
  • SuperCase MW-100 mini-ITX cabinet
  • Intel BOXD510MO motherboard, with a dualcore Atom processor
  • 2GB Kingston value RAM
  • Samsung SpinPoint M7 640GB harddrive
The processor runs so cool that it doesn't need any fan, and the harddrive is very silent too, so I can't hear this box at all. Now for the installation part. As you can see, there is no cd-rom included here, so installing an OS might prove a challenge. And guess what - It was! Many small bugs crept out as I went along, so I'll tell you how I avoided them and made it work, step by step: Preparation We're going to create a bootable USB stick. To do that, follow these steps
  1. Install usb-creator-common and usb-creator-gtk (or usb-creator-kde). This is a Ubuntu package, but it works fine on Debian Testing too, just grab them from the packages.ubuntu.com site.
  2. Download Ubuntu Server (64-bit for me, will work with less hassle with 32-bit)
  3. Have a USB stick handy, at least 1GB (Ubuntu claims at least 2GB is needed, but if you don't want to store anything else on the usb stick, 1GB suffices).
  4. Create a bootable USB stick by using the "Startup Disk Creator" in the System menu. Using it is straight forward. If you have only 1GB, enable the option to discard settings on shutdown.
Execution. At this point, you'd think you can just insert the bootable USB stick in the usb port and start the system. Not so easy. To make the box boot off the USB disk, you need to do the following:
  1. Make sure the USB header cables are connected to the normal Front Panel USB plugs on the motherboard, not the one "with Solid State Drive support"
  2. While the system boots, press F2 to enter BIOS, and navigate to the Boot section
  3. Enable booting from USB and booting USB before other drives
  4. Set the USB emulation type to be "All fixed disk". The default Auto setting does not work and will produce Boot Error
  5. Plug the USB disk into a usb port, and then Save the bios changes
Once the system reboots, Ubuntu should now boot just fine. But it didn't for me, claiming various errors, like gfxboot is an unknown keyword and vesamenu.c32 is not an COM32R image, leaving me at the BOOT: prompt. After some fiddling around with the syslinux config files and still not getting it to boot properly, I found a deceptively simple workaround for this: Just type "help" on the BOOT prompt, and when you get the help menu, just hit enter. The system will now boot! Once you have installed the system, it is time to install Squeezebox server. The best way to do this is by adding the squeezebox debian repository to /etc/apt/sources.list, like this:
deb http://debian.slimdevices.com/ testing main
Then run
sudo aptitude update && sudo aptitude install squeezeboxserver
If you installed the 64-bit version, you also need to install ia32-libs to make the Spotify plugin work. All set! Now you should copy all your music to the internal harddrive on the box. The fastest way to do this is by copying it from the harddrive on your PC onto an external hardrive. Then plug this drive into the squeezebox server box. After that, you log in to the box via ssh and mount the harddrive. Install the usbmount package to make it automatically mount external harddrives. With all your music copied over, it is time to configure the server. This is done with a web-interface - load http://server-ip:9000/ in your browser.

Debian on a Fujitsu Siemens Amilo pro v3205

, , ,

A little while ago I bought a new laptop for myself, a Fujitsu Siemens Amilo pro v3205. I of course wanted to install some sort of linux distro on it, and as I've grown to love anything based on debian, I decided to go for the original this time.

Installation
I decided to use the netinst for Debian testing. Detection of all hardware except wireless went well, so I could sit back and relax while the installer downloaded the packages over our 20000KBps (its really just 9000) line.

To get the wireless working, I initially downloaded and compiled the ipw3945 source from intel, but on closer inspection it appeared that the driver is now included as a package in debian. Nice. I had to install the firmware-ipw3945, ipw3945d and ipw3945-modules-2.6-686 packages.

To get the correct display resolution, I had to install the package 915resolution. UPDATE: Use the "intel" driver instead of the i810 driver, and the 915resolution package is no longer needed. The display is lovely, with a decent viewing angle and a great 1280x800 resolution on 12.1 inches, thats 125DPI.

Everything else is Just working(tm), including bluetooth and the multi-format card reader. Install kdebluetooth to get bluetooth integration in kde (send files etc).

The machine is very silent. It takes quite a bit of processor activity to make the fan start, and then it only runs for a few seconds. For power management I removed klaptop and installed kpowersaved instead, a frontend to the powersaved daemon. Both CPU cores are clocked at 1Ghz when idle, and one or both goes up to 1.66Ghz when there is any heavy usage.

Specs

lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
07:08.0 Ethernet controller: Intel Corporation Intel(R) PRO/100 VE Network Connection (rev 02)
07:09.0 FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832
07:09.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
07:09.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 01)
07:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a)
07:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 05)


cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 CPU         T5500  @ 1.66GHz
stepping        : 6
cpu MHz         : 1000.000
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl est tm2 cx16 xtpr lahf_lm
bogomips        : 3330.64

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 CPU         T5500  @ 1.66GHz
stepping        : 6
cpu MHz         : 1000.000
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl est tm2 cx16 xtpr lahf_lm
bogomips        : 3326.53