[LIVE] HOW-TO easily configure wireless network for XBMC Live installations
#1
Easy Wireless Configuration for XBMC Live Dharma

There are a few ways to get wireless working on an install from the XBMC Live CD (which is what I run), but as far as I can work out, this is the easiest. This will also work on Ubuntu if you're running XBMC as a session rather than a desktop application or when you're not running a desktop environment at all.

What I'm going to show is how to install wicd, a wireless daemon that runs on your system and provides easy wireless configuration.
http://wicd.sourceforge.net/


Get your XBMC machine to a terminal
With your XBMC machine turned off, power on the machine and hold down the SHIFT key as the BIOS screen ends. You should get a GRUB screen offering XBMC or XBMC Safe Mode. Choose Safe Mode and hit enter. The machine will boot to a root terminal.


Get the packages

If you can get a temporary wired internet connection to the machine, you can grab the packages from the repositories. This is the easiest way to install wicd and the following line will install all the required packages in one go.

Code:
apt-get update
apt-get install wicd-curses

Note: when prompted if you want to add any users to the netdev group, add your local user account (this is the one you specified during installation)

If this has worked, go to Configure Wireless. Otherwise keep reading...

So, you don't have a wired connection. Don't worry, generous as I am, I've created a tar file with all the required files and a simple install script. Download it from here:

http://www.filesonic.com/file/71484729/w...dharma.tar

Expand the files from the tar and copy them to a USB key, plug it into the XBMC machine and mount it:

Code:
mount /dev/sdb1 /mnt
Where /dev/sdb is your USB device. If you're not sure which device it is, type the following line immediately after plugging in the USB key to find out. It will start with "/dev/sd..."
Code:
dmesg | tail

Now your device is mounted, navigate to where you put the files:

Code:
cd /mnt

Now you need to install the packages, and configure your wireless:
Code:
./install
Again, if you're asked to add an account to the netdev group, add your local user account (this is the one you specified during installation)


If you got any errors saying that wicd couldn't start then you've probably got network-manager installed. Otherwise, skip this section.

We can stop any existing network managers ready to start wicd. You should only need to do this if you've been playing about with the wireless before.
Code:
service network-manager stop
apt-get remove network-manager
service wicd start


Configure Wireless
Nearly there now Wink
Finally, to configure your wireless, type the following line. If you're running the install script, this will be run for you.

Code:
wicd-curses

From here on it's pretty simple. You should get a basic interface with a list of networks your wireless adapter can 'see'.
  • Highlight the one you want to connect to and press the right cursor key to configure it
  • Scroll down and check 'Automatically connect to this network'
  • Scroll down to the botton and enter the wireless key
  • Press [F10] to save. You should be back at the list of networks with your network highlighted
  • Press shift and c (capital C) to connect to the network
  • Once connected (check status in the bottom left), press q to quit

When you're happy your wireless is working (try pinging http://www.google.com or your router) reboot the machine
Code:
reboot

Congratulations, you now have wireless networking! Smile


Image
(sorry, I couldn't get a screenshot of a machine with wicd at the moment, but I'll try and get one and upload it)
Reply
#2
Great work, m8!

Thanks.

hudo
Reply
#3
When I type:

sudo apt-get install wicd-curses


I get:

Couldn't find package wicd-curses

I have confirmed that I am online. I still don't know what to do and numerous google searches have not provided any straight forward answers.

Recap:

I've installed XBMC to my hard drive and LAN is working, but WLAN is not. As others have stated, seems like XBMC should have this sort of feature built in. However, any help will be greatly appreciated. Thank you!
Reply
#4
tbeardenjr Wrote:When I type:

sudo apt-get install wicd-curses


I get:

Couldn't find package wicd-curses

Try entering this first:
Code:
apt-get update

That will update the metadata for the repositories and should make the wicd-curses package available.

Let me know if it doesn't work.
Reply
#5
Question 
I installed fine with apt-get (after an update of the repo) but have not been successful starting it. This is what I get when I call it. Any help is appreciated.

Code:
elcome to Ubuntu!
* Documentation:  https://help.ubuntu.com/
Last login: Mon Sep 27 20:13:46 2010
xbmc@new-host-2:~$ sudo wicd-curses
[sudo] password for xbmc:
Can't connect to the daemon, trying to start it automatically...
Traceback (most recent call last):
  File "/usr/share/wicd/curses/wicd-curses.py", line 1022, in <module>
    setup_dbus()
  File "/usr/share/wicd/curses/wicd-curses.py", line 1014, in setup_dbus
    dbus_ifaces = dbusmanager.get_dbus_ifaces()
  File "/usr/lib/pymodules/python2.6/wicd/dbusmanager.py", line 36, in get_dbus_ifaces
    return DBUS_MANAGER.get_dbus_ifaces()
  File "/usr/lib/pymodules/python2.6/wicd/dbusmanager.py", line 62, in get_dbus_ifaces
    if not self._dbus_ifaces: connect_to_dbus()
  File "/usr/lib/pymodules/python2.6/wicd/dbusmanager.py", line 48, in connect_to_dbus
    return DBUS_MANAGER.connect_to_dbus()
  File "/usr/lib/pymodules/python2.6/wicd/dbusmanager.py", line 79, in connect_to_dbus
    proxy_obj = self._bus.get_object("org.wicd.daemon", '/org/wicd/daemon')
  File "/usr/lib/pymodules/python2.6/dbus/bus.py", line 244, in get_object
    follow_name_owner_changes=follow_name_owner_changes)
  File "/usr/lib/pymodules/python2.6/dbus/proxies.py", line 241, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File "/usr/lib/pymodules/python2.6/dbus/bus.py", line 183, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/usr/lib/pymodules/python2.6/dbus/bus.py", line 281, in start_service_by_name
    'su', (bus_name, flags)))
  File "/usr/lib/pymodules/python2.6/dbus/connection.py", line 620, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.wicd.daemon was not provided by any .service files
Integrating with XBMC through the JSON-RPC interface?

Try the JSON-RPC Browser

Image
Reply
#6
Thumbs Up 
Fixed the problem by backing up and deleting the wireless-settings.conf file.

Code:
sudo cp /etc/wicd/wireless-settings.conf /etc/wicd/wireless-settings.conf.bak
sudo rm /etc/wicd/wireless-settings.conf
sudo /etc/init.d/wicd restart

Hope this helps someone else.
Integrating with XBMC through the JSON-RPC interface?

Try the JSON-RPC Browser

Image
Reply
#7
I actually reinstalled XBMC to my hard drive cause of all the stuff I did trying to fix it...

Afterwards, I typed:

sudo apt-get update

It updated, then I typed:

sudo apt-get install wicd-curses

The error that follows:


Reading package lists... Done
Building dependancy tree
Reading state information... Done
E: Couldn't find package wicd-curses



Any other suggestions? Thanks so far for your help.
Reply
#8
Exclamation 
I am running XBMCFreak installed to a USB key and was unable to get WEP working. I tried both 64 bit and 128 bit WEP keys and it would always fail to authenticate from manual setup in /etc/networking/interfaces or through wicd. Save yourself the trouble if you are trying to get a WEP working and just switch to WPA2. That is what it took to get my wireless connected.
Integrating with XBMC through the JSON-RPC interface?

Try the JSON-RPC Browser

Image
Reply
#9
Sad 
Since I rebooted the machine, I cannot get the wireless to connected again through wicd-curses. When I select the wireless network from the list and hit shift-C, I am presented with the normal SSID: Validating authentication... but this time it has a series of hex values separated by slashes in front of it taking up the entire bottom of the screen.

Any idea whats going on in wicd to cause this stuff to show at the bottom of the screen? Is the wireless-settings.conf file getting corrupted after each reboot maybe?

-------

I tried the following like I did before but it didn't change anything. (also my wireless settings were still in wicd, so this must not be where they are stored anyways if they ARE corrupted somehow...?

Code:
sudo rm /etc/wicd/wireless-settings.conf
sudo /etc/init.d/wicd restart
Integrating with XBMC through the JSON-RPC interface?

Try the JSON-RPC Browser

Image
Reply
#10
Lightbulb 
It looks like the problem was caused by a conflict with network-manager

The following fixed my problem of not being able to connect after a reboot.
Code:
sudo aptitude remove network-manager
sudo /etc/init.d/wicd restart

(based on the following post in the Ubuntu bug track: https://bugs.launchpad.net/ubuntu/+sourc...omments/18)
Integrating with XBMC through the JSON-RPC interface?

Try the JSON-RPC Browser

Image
Reply
#11
angrycamel Wrote:It looks like the problem was caused by a conflict with network-manager

The following fixed my problem of not being able to connect after a reboot.
Code:
sudo aptitude remove network-manager
sudo /etc/init.d/wicd restart

(based on the following post in the Ubuntu bug track: https://bugs.launchpad.net/ubuntu/+sourc...omments/18)

Sorry, you're right - if you've got network-manager installed then this can cause a conflict (network-manager starts before wicd). I'll add this to the original post.
Reply
#12
angrycamel Wrote:I installed fine with apt-get (after an update of the repo) but have not been successful starting it. This is what I get when I call it. Any help is appreciated.

Code:
elcome to Ubuntu!
* Documentation:  https://help.ubuntu.com/
Last login: Mon Sep 27 20:13:46 2010
xbmc@new-host-2:~$ sudo wicd-curses
[sudo] password for xbmc:
Can't connect to the daemon, trying to start it automatically...
Traceback (most recent call last):
  File "/usr/share/wicd/curses/wicd-curses.py", line 1022, in <module>
    setup_dbus()
  File "/usr/share/wicd/curses/wicd-curses.py", line 1014, in setup_dbus
    dbus_ifaces = dbusmanager.get_dbus_ifaces()
  File "/usr/lib/pymodules/python2.6/wicd/dbusmanager.py", line 36, in get_dbus_ifaces
    return DBUS_MANAGER.get_dbus_ifaces()
  File "/usr/lib/pymodules/python2.6/wicd/dbusmanager.py", line 62, in get_dbus_ifaces
    if not self._dbus_ifaces: connect_to_dbus()
  File "/usr/lib/pymodules/python2.6/wicd/dbusmanager.py", line 48, in connect_to_dbus
    return DBUS_MANAGER.connect_to_dbus()
  File "/usr/lib/pymodules/python2.6/wicd/dbusmanager.py", line 79, in connect_to_dbus
    proxy_obj = self._bus.get_object("org.wicd.daemon", '/org/wicd/daemon')
  File "/usr/lib/pymodules/python2.6/dbus/bus.py", line 244, in get_object
    follow_name_owner_changes=follow_name_owner_changes)
  File "/usr/lib/pymodules/python2.6/dbus/proxies.py", line 241, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File "/usr/lib/pymodules/python2.6/dbus/bus.py", line 183, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/usr/lib/pymodules/python2.6/dbus/bus.py", line 281, in start_service_by_name
    'su', (bus_name, flags)))
  File "/usr/lib/pymodules/python2.6/dbus/connection.py", line 620, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.wicd.daemon was not provided by any .service files

If you specifed your user's account when you installed wicd, then you won't need to use sudo - having your account as a member of netdev means you can edit wicd without using sudo
Reply
#13
tbeardenjr Wrote:I actually reinstalled XBMC to my hard drive cause of all the stuff I did trying to fix it...

Afterwards, I typed:

sudo apt-get update

It updated, then I typed:

sudo apt-get install wicd-curses

The error that follows:


Reading package lists... Done
Building dependancy tree
Reading state information... Done
E: Couldn't find package wicd-curses



Any other suggestions? Thanks so far for your help.

Hmm. That's odd wicd's part of the Ubuntu repositories, so you shouldn't have any problems as long as you're connected to the internet.

What's the output of:
Code:
apt-get update

What's the output of:
Code:
apt-cache search wicd*

Can you do something really easy, like:
Code:
ping www.google.com

Also, did you install from the Live image?

Let me know the results and hopefully we can work out the answer. Alternatively, you can just download the files and use the manual route.
Reply
#14
I installed XBMC to my HDD from the latest Live CD.

When I run:

apt-get update

I get:

Hit http://archive.ubuntu.com karmic Release.gpg
Ign http://archive.ubuntu.com karmic/main Translation-en_US
etc.............
Reading package lists... Done


When I run:

apt-cache search wicd*


I get:

(a lot of stuff, and since I'm running all this on a different system, I can't copy and paste. here are a few things. maybe you can tell me what specifically to look for here.)

dvipdfmx - A DVI to PDF translator with CJK support
grep - GNU grep, egrep and fgrep
libcroco3 - a generic Cascading Style Sheet (CSS) parsing and manipulation toolkit
etc.........


When I ping Google.com, I get all replies back.

Also, here's what's in my /etc/apt/sources.list

deb http://archive.ubuntu.com/ubuntu/ karmic main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ karmic-security main restricted universe multiverse


Thank you for your help so far.
Reply
#15
I updated my sources using the minimal list from this site:

http://ubuntuforums.org/archive/index.ph...48410.html

Then ran:

sudo apt-get update

And still got this error:

E: Couldn't find package wicd-curses

Any other suggestions? Seems the wireless being added to the live CD would be very useful and yet easy to implement on the live CD. Much easier than trying to get it to work after the fact..... Thanks guys for your help.
Reply

Logout Mark Read Team Forum Stats Members Help
[LIVE] HOW-TO easily configure wireless network for XBMC Live installations1