Sunday, April 1, 2012

Most Recent Page View Stats

I’m a little surprised to see the stats of Linux users so low.

Pageviews by Browsers


497 (52%)


235 (24%)

Internet Explorer

150 (15%)

Mobile Safari

23 (2%)


22 (2%)


22 (2%)


2 (<1%)


2 (<1%)


1 (<1%)


Pageviews by Operating Systems


477 (50%)


229 (24%)

Other Unix

166 (17%)


34 (3%)


21 (2%)


8 (<1%)


6 (<1%)


6 (<1%)

Windows NT 6.1

2 (<1%)


2 (<1%)

Enabling 'Create Launcher' for Gnome 3 Desktop, Mint.

I can't right click and send shortcuts to the desktop. I can't drag shortcuts to the desktop. Just to use my browser I have to do 3 actions that used to take one. How is this usability enhancement? At least Mint has made it a lot more normal than other distros.

So anyway, now to show how to enable creating a desktop shortcut. (something that should have never been removed.

 1) Open your home folder.
2) Press the Ctrl+h key combination to show hidden files.
3) Navigate into the .gnome2/nautilus-scripts directory.
4) Create a new file called 'Create New Launcher'.
5) Edit the file and paste in the following (without quotes) "gnome-desktop-item-edit --create-new ~/Desktop" and save the file.
6) Right click on the file and select 'properties' from the menu. Click the permissions tab and check the 'Execute: Allow executing file as a program' option.

 Now if you right click on the desktop you'll be able to select 'scripts', 'create new launcher' from the menu and create a program launcher how you would expect to be able to crjouyeate one in previous versions of Gnome desktop.


Thursday, March 3, 2011

Linux & Wireless Networking

Setting up a wireless NIC is usually fairly straightforward if you know what commands to use.

You MUST know what chipset your NIC uses.  The model number and manufacturer is mostly irrelevant.  

For a usb device use:
sudo /usr/bin/lsusb
You'll see output similar to this: 
Bus 003 Device 005: ID 0bda:8187 Realtek Semiconductor Corp. RTL8187 Wireless

For a pci NIC use:
sudo /sbin/lspci -nnk
This will give you output similar to the usb command.

If you're not getting any output with those commands your hardware is defective and Linux obviously won't be able to use it.  You can verify by trying in Windows as well.

The next step is to check if the kernel recognizes it.

Use the command: 
dmesg | less
or to get more specific
dmesg | grep -A 5 -B 5 -i firmware

That will allow you to browse through your looking for any information about your wireless card, in particular requests for firmware.  The second command searches specifically for the word firmware and outputs 5 lines before and five after so you won't miss anything.  Adjust it less if it's too much output.

One of my usb NICs require the package 'kernel-firmware' (opensuse) and would have something like this in the output of dmesg:
requesting firmware file 'kernel-firmware' failed

At that point all I have to do is install the package kernel-firmware (zypper in kernel-firmware) and it starts working.

If you know your nic id and the chipset but don't know what driver it uses or where to get the driver you can easily google around and find which driver it uses.  The usb id is the most surefire way to get an exact match of what driver you need.  The drivers actually have these id's in their code.

The best way to add a driver is by using a repository for your flavor of Linux.  If you just add the driver manually you'll have to update it every time you update the kernel.  With the repository that will be taken care of automatically.

It's not very likely that you'll have to compile your own driver unless your device is very new in the market.

Using NDISWrapper and Windows drivers should be a last resort.  There's almost always a better way to get your card working.

Please feel free to drop me a line if you can't get your wireless working, no matter which distro you use.

I've recently taken on the challenge of occasionally buying random (cheap) wireless nics (especially the ones people say in reviews don't work with Linux)  to see if I could make them work.  So far I haven't even had a challenge.  I just plugged them in and they worked.  I'm sure I'll eventually find some that don't work.

My wireless devices:

Rosewill RNX-G1

Bus 001 Device 007: ID 0bda:8187 Realtek Semiconductor Corp. RTL8187 Wireless Adapter
(works out of the box on the latest kernel)

Belkin F6D4050 V2
Bus 001 Device 012: ID 050d:935b Belkin Components
(requires package 'kernel-firmware' in opensuse, Ubuntu works out of the box)

Asus WL-167g V3
Bus 001 Device 013: ID 0b05:1791 ASUSTek Computer, Inc.
(Works out of the box)

Monday, July 26, 2010

Belkin F6D4050 v2, openSUSE 11.3 (and possibly other flavors)

The kernel doesn't have the usb identifier for this device.  In order to use it I had to modify a couple things.

the command lsusb shows the usb id of : 050d:935b

create a file called /etc/modprobe.d/rt2870sta.conf

Add this line to the file with no line breaks.

install rt2870sta modprobe --ignore-install rt2870sta ; /bin/echo "050d 935b" > /sys/bus/usb/drivers/rt2870/new_id

After that if you restart it should be at least recognizing the hardware, manifested by using the command dmesg | grep firmware

That should show an error message about the kernel not being able to load the firmware for the wireless card.  To remedy that, we just need to install a common firmware package.

sudo zypper in kernel-firmware

Now, edit the file /etc/sysconfig/kernel and add rt2870sta to the MODULES_LOADED_ON_BOOT section, so it looks like this.


Save the file and reboot, or use the command sudo modprobe rt2870sta, and the card should be working now.  I tested with unsecured, WEP and WPA.  Everything seems to work great.

This USB identifier has been added to the kernel and in the future (it will take a little while to propogate out and be available in the update repositories) all you should have to do is install the kernel-firmware package and it will just work.   

Tuesday, January 5, 2010

Use your Blackberry as a Modem with Ubuntu

Using your Blackberry as a Modem is really very straightforward once you know how.

  • sudo apt-get install python libusb-dev ppp python-usb python-wxgtk2.8
  • Download
  • Decompress the file wherever you want.  Somewhere like /home/username/ would be a good location.  You'll end up with a folder called "bbtether".
  • Inside the folder run "sudo ./" from the command line.  Root persmissions (sudo) are needed for it to work properly.
  • Go to the "File" menu and select "Preferences".
        Deselect verbose logging for now, on the general tab.  (You can enable it later if you have issues connecting.)
        On the "Modem" tab, select your wireless provider on the PPPD config           dropdown list.
  • From the "Modem" menu, select connect.  The first time you connect it will take a minute to scan your device and find all the settings.  Once the messages stop scrolling, you should be able to connect to the internet.  You should see your ip address and DNS server addresses as the last lines of text in the berry4all client.
  • Once the messages stop scrolling, you should be able to connect to the internet.  You should see your ip address and DNS server addresses as the last lines of text in the berry4all client.
  • When you’re finished using it, just select disconnect from the modem menu, and click ok.  Once the phone is deinitialized (about 30 seconds) it will popup a dialog saying your phone is ready to be disconnected.  If you disconnect before it’s finished, you may need to reboot your phone to be able to use it.
Enjoy your new wireless modem.

Saturday, January 2, 2010

World of Goo Review

I first saw World of Goo while I was browsing the games at the local Target store.  From the box, I gathered that it was created by a 2 man game studio with a minimal budget.  The game was also very reasonably priced at $20.00.

Demo version of "World of Goo", for Linux

The creators of World of Goo, 2dboy

I didn’t actually play the game until I happened upon the demo version that is actually native to Linux.  It just happened that the Linux distro Sabayon which I was installing at the moment had a download link for the game.  After downloading and installing the game, I quickly became hooked.  

The simplest way of describing this game is to say it’s a physics simulation with specific goals you must accomplish.  It’s a puzzle game like you’ve never seen before.

The great thing about this game is that there’s a native version for Windows, Mac, and Linux.  This most likely means the future games coming from 2dboy will also be cross platform.  It’s a great example to the larger game companies that think there’s only a windows game market.  This game also has NO form of copyright protection.  I’m sure this was partly due to their minimal budget, but I think they also realize it’s just a nuisance for people and really doesn’t stop pirating.

The only oddity I saw with this game is that the resolution is very low.  This applies on all platforms.  There’s just no option from the menus to adjust it.  You can manually hack the config files, but then there are other graphical glitches associated with the game being in a higher resolution than it was designed for.

Thank you 2dboy for making a game that is amazing and fun, and runs natively on Linux.  We need more intelligent game companies out there like you.

Sunday, December 20, 2009

Make Skype Video Work In Ubuntu

When I tried to use my webcam in skype all I was getting was garbled video. Other programs like cheese worked with the video just fine.

So, I set out to find the answer on Skype forums. Here's where I found the answer.

#1. Run "LD_PRELOAD=/usr/lib32/libv4l/ skype" at the command line and test the video in Skype again.

(If that gives you an error, you may need this instead: LD_PRELOAD=/usr/lib/libv4l/ skype)

#2. Create a new file in your home directory called skype. (/home/user/skype)

#3. Edit the file skype and put the command from #1 in it.

#4. Run "chmod +x skype" in order for the script to be executable.

#5. Edit the skype launcher and change the command to /home/user/skype. Substitute user for your user name of course.

Now Skype video will work without the hassle of running an archaic command from the terminal.