Sunday, August 26, 2007

Squeezebox

I have a new toy:

      http://www.slimdevices.com/

Squeezebox is a device that connects to the WiFi Network and streams
audio from either the computer or the Internet.

It requires a server you must install [slimserver] to work with the computer

The system consists of the box, the SlimServer, and SqueezeNetwork.

== The Box ==
The box is ultimate simplicity.

== The Server ==
The server is easily installed if you know the answer.

Basically, you need to install an RPM, install an
startup script
, and especially, open ports on the firewall.

Once up the server can be used to control the box, including creating
playlists and searching for music on the computer, on Internet Radio
music streams, and on SqueezeNetwork.

=== Internet Radio ===
Internet radio offers to connect:

    Live365 Internet Radio
    Live Music Archive
    Slim Picks
    Podcasts
    radioio.com - no boundaries.
    Radio Guide - RadioTime
    SHOUTcast Radio
    Switch to SqueezeNetwork
    Tune In URL

Clearly a lot to explore.

==== Live365 Internet Radio ====

I have found interesting content on Live365
Internet Radio by Browse genres. There seems to be a difference in
behavior whether you connect through the server or direct from the box.
Going from the box asks you to log in.

== BBC Radio ==

I enjoy [BBC Radio 3]. But for reasons of licensing they cannot provide a
raw feed, rather have to play through [RealPlayer]. This runs with
[Opera] and [Konqueror] but not [Firefox].

More geek stuff - VMWare Bridging

I have successfully installed VMWare WorkStation 6.0 on a Fujitsu P1610
running Linux SuSE 10.2.

I need to bridge to my WiFi adapter ath0, which is my gateway to
the internet. VMWWS did not allow this:

+ I could not bridge to the installed WiFi modem /dev/ath0. VMWWS only
allowed bridging to the installed Network Interface Card (NIC)
/dev/eth0.

I spent a week working through this with VMWare support. They finally figured out that the madwifi driver ath_pci does not support reserved header lengths. Removing that reservation from the source code for the driver, then recompiling and rebooting solved the problem.

The rest of this are the details:

================================

The wifi modem is the Atheros 802.11a/b/g Wi-Fi. The Atheros website directed us to the MADWIFI website:
      http://sourceforge.net/project/downloading.php?group_id=82936&use_mirror=umn&filename=madwifi-0.9.3.1.tar.gz&50711065

which gives the driver.

There are two files in the ath_pci source code that need patching:

+ ../ath/if_ath.c needs to have a section commented out that allows reserving the length of the header:

     #ifdef USE_HEADERLEN_RESV
     dev->hard_header_len += sizeof(struct ieee80211_qosframe) +
     sizeof(struct llc) +
     IEEE80211_ADDR_LEN +
     IEEE80211_WEP_IVLEN +
     IEEE80211_WEP_KIDLEN;
     #ifdef ATH_SUPERG_FF
     dev->hard_header_len += ATH_FF_MAX_HDR;
     #endif
     #endif

+ Additionally there is a patch to the net80211/if_athproto.h header file that comments out a header definition and then undefines it (in case any other program has defined it):

Change

     #define USE_HEADERLEN_RESV 1
to read

     /*#define USE_HEADERLEN_RESV 1*/

Add the line

     #undef USE_HEADERLEN_RESV

+ Then remove the old module with modprobe -r ath_pci, recompile the driver and reload it with modprobe ath_pci

All this works, although you have to reboot. Unfortunately, it did not run. It failed with the message:

     /usr/lib/vmware/bin/vmware: symbol lookup error: /usr/lib/libgtkmm-2.4.so.1: undefined symbol: gtk_builder_error_quark

I googled and found that running it with an environmental variable results in it running correctly.

See

     http://www.vmware.com/community/message.jspa?messageID=679894

The command is

     VMWARE_USE_SHIPPED_GTK=force vmware &

So this is unrelated to the modem issue.

The effect of this is to have VMWare open with a Gnome theme rather than the KDE theme. Minor issue...

So I shut it down, reran the configuration to connect to ath0. I did notice this time the warning:

     WARNING: could not find
     /tmp/vmware-config0/vmnet-only/.smac_linux.x386.o.cmd for
     /tmp/vmware-config0/vmnet-only/smac_linux.x386.o

I wonder if that is the source of the GTK problem.

I then started it with the above variable.

It works!! I was able to get to the Internet.

Good work.

======

A few words of caution. I patched the source for the first installed driver cited above. That worked. I previously tried patching the latest version of the driver, which failed with the kernel making all manner of complaints about not agreeing on the version of a host of driver (*.o) files. So it seems you must patch your kernel if you are going to use a different version of the module than that originally installed. I hate patching the kernel as I inevitably screw it up and end up with an unbootable system and have to reinstall the whole OS.

Patching the original source worked, I have better things to do with my time. :-)

Where do we go?

I've been very busy for the past three months, 
continuing to try to get it all together, so the blog has taken the 
back seat.

So, what is the objective? Actually, to get to a status in which I can do what I want to do and still make enough money to make doing what I want to do possible.

So, rather than posting profound thoughts and insights on how to solve world hunger, I think my time here is best spent just passing on the simple little things I learn from life on a daily basis, probably mostly related to Linux and software and computers and technology.

So, despite my earlier ambitions of using this for my philosophical exercises (although that may occur from time to time), I now think it will just be pure geek stuff. So those of you who may have bookmarked it for the former purpose may wish to nuke your bookmarks, as the rest will be boring techie stuff.

For example:

=========== Scribus Installation
===========

Today I was encouraged to finally dabble a toe in the pool of Desktop Publishing (DTP). A colleague had sent me a document in .pub format, the proprietary Microsoft publisher format.

Being defiant of things proprietary I found

     www.scribus.net

Scribus is a Free Software Desktop Publishing program for Windows, Linux, and Mac.

Scribus does not support importing Microsoft Publisher documents. There are no current plans to add support for it. The reasons are here:

     http://www.scribus.net/index.php?name=FAQ&id_cat=3#q19

I first tried installing with YaST on SuSE 10.2, but it failed with a missing module:

     scribus: symbol lookup error: scribus: undefined symbol: art_free

I googled the error and found

     http://archives.mandrivalinux.com/cooker/2007-03/msg05712.php

which says:

     Fixed the problem by updating libart_lgpl2

I then went to YaST software updater and entered

      libart

and updated all the installed modules. I then ran scribus and it runs a charm. No problem.

Meanwhile, I had also installed it on Windows on VMWare on Linux, again no problem.

I'll play with it over the next few days, but in the meantime it seems like a very robust alternative to proprietary DTP.

Sweet.