Blog‎ > ‎

IT


Ubuntu 11.10 Wifi problems on Lenovo Edge 13

posted Nov 11, 2011, 5:16 AM by Jaco Vosloo   [ updated Nov 11, 2011, 11:12 PM ]

My Thinkpad's wireless just wouldn't work in ubuntu even though it worked in Windows, eventually putting some tape on the PCI express connector of the Wifi card did the trick.

Here are a few troubleshooting steps for wifi problems on a Lenovo Edge 13 laptop.
Run all these commands in a terminal.

1. Start here:

The following is what you want to see.  If there is a yes in any of the lines or if the Wireless item is missing then go to the relevant troubleshooting section:
# sudo rfkill list all
8: phy3: Wireless LAN
    Soft blocked: no
    Hard blocked: no
10: tpacpi_bluetooth_sw: Bluetooth
    Soft blocked: no
    Hard blocked: no
If you see the above then your hardware is turned on and ready to connect, now you must install and configure the "network-manager" or "WICD" which is not covered here.

2. No Wireless LAN listed

If the wireless lan is not listed then the hardware or your drivers may be missing:
Check if hardware is there:
# lshw -class net -short
H/W path               Device     Class       Description
=========================================================
/0/100/1c.1/0          wlan0      network     RTL8191SEvB Wireless LAN Controller
/0/100/1c.5/0          eth0       network     RTL8111/8168B PCI Express Gigabit Ethernet controller

Check if drivers are loaded:
Take a few number(not letters) from the above and see if the driver is loaded:
# lsmod |grep 819
rtl8192se              99931  0
thinkpad_acpi          81819  0
rtlwifi               110972  1 rtl8192se
mac80211              462092  2 rtl8192se,rtlwifi

If the driver is not loaded then you must find out how to compile it.

3. Soft blocked: yes

The radio is turned off by software, run:

# sudo rfkill unblock all

go back to 1 and re-test.

4. Hard blocked: yes

The Lenovo does not have a hardware radio switch.  It does however have a hotkey combination.
Press "Fn-F9" then return to 1 to re-test.
If the button does nothing then check if ACPI is installed:
# lsmod |grep think
thinkpad_acpi          81819  0
nvram                  14413  1 thinkpad_acpi
snd                    68266  19 thinkpad_acpi...

4.1 Check if the keyboard event is fired:

# xev | sed -n 's/^.*state \([0-9].*\), keycode *\([0-9]\+\) *\(.*\), .*$/keycode \2 = \3, state = \1/p'
keycode 246 = (keysym 0x1008ff95, XF86WLAN), state = 0x0

The above keycode says XF86WLAN which means the correct button has been pressed.

Find the event ID, look for the ThinkPad Extra Buttons event:
# lsinput
/dev/input/event10
   bustype : BUS_HOST
   vendor  : 0x17aa
   product : 0x5054
   version : 16641
   name    : "ThinkPad Extra Buttons"
   phys    : "thinkpad_acpi/input0"
   bits ev : EV_SYN EV_KEY EV_MSC EV_SW

Listen for the event ID. Put the above event ID in the command below :
# input-events 10
/dev/input/event10
   bustype : BUS_HOST
   vendor  : 0x17aa
   product : 0x5054
   version : 16641
   name    : "ThinkPad Extra Buttons"
   phys    : "thinkpad_acpi/input0"
   bits ev : EV_SYN EV_KEY EV_MSC EV_SW

waiting for events
08:52:13.257779: EV_MSC MSC_SCAN 4
08:52:13.257789: EV_KEY KEY_WLAN (0xee) pressed
08:52:13.257793: EV_SYN code=0 value=0
08:52:13.257809: EV_MSC MSC_SCAN 4
08:52:13.257813: EV_KEY KEY_WLAN (0xee) released
08:52:13.257816: EV_SYN code=0 value=0

4.2 Hotkey won't lift hardblock

If all else fails and the hotkey won't lift the hardblock then override the hardblock connection on the card.
If it is PCI express then put a small piece of tape over pin 20 of the connector as per this discussion.

References:

The hardware wireless button does not enable wifi as per the following bug report.
https://bugs.launchpad.net/ubuntu/+source/rfkill/+bug/786233

This person got it working somehow...
http://ubuntuforums.org/archive/index.php/t-1770202.html

http://en.gentoo-wiki.com/wiki/Lenovo_Thinkpad_T61#Wireless_switch_on_the_front_beneath_firewire

http://www.thinkwiki.org/wiki/How_to_get_special_keys_to_work

Disable the hardware switch:

On PCI-E Pin 20 is the hardware switch pin.  Insulate it with some tape and the hardware can not be switched off.
http://www.notebookforums.com/t/225429/broken-wireless-hardware-switch-fix
http://www.mp3car.com/attachments/wireless-communications/56148d1249724286-hacking-mini-pci-e-hsdpa-into-aopen-i45gmt-hd-board-sim_to_mini_pci_express.jpg



Phonegap with Barcode scanner

posted Oct 20, 2011, 2:33 PM by Jaco Vosloo

Here's a great tutorial on using Phonegap with the ZXing barcode scanner plugin.
 
The phonegap plugin does not work with Phonegap 1, so the following fixes is required:
Remove line107 from barcodescanner.js:
PluginManager.addService("BarcodeScanner","com.beetight.barcodescanner.BarcodeScanner");

 

Howto use jquery Mobile + CouchApp

posted Oct 7, 2011, 2:00 PM by Jaco Vosloo   [ updated Oct 7, 2011, 2:50 PM ]

Kanso CouchApps

posted Oct 4, 2011, 1:27 PM by Jaco Vosloo   [ updated Oct 4, 2011, 1:51 PM ]


Kanso is a framework for creating web applications which run on CouchDB. You don't need anything else in your stack, meaning apps are easy to deploy and easy to distribute.

The Kanso framework was designed for rapid development and code maintainability. Because it only requires CouchDB to host an app, you can write web apps which run on Windows, Mac, Linux, and even mobile devices!

My couchdb server: http://jpv.iriscouch.com/

Setup Android with Root and BASH

posted Jul 3, 2011, 11:39 AM by Jaco Vosloo   [ updated Jul 3, 2011, 11:50 AM ]

Here's a script which automatically roots an Android (2.1) phone and then installs bash with some helper scripts.
It must be run from Linux because the installer is an .sh script.  It has been tested on my Sony Ericsson X10 mini.

Setup:
Unzip the RootAndBash.zip file
Run the file: pushAndInstallToDevice.sh
Wait for it to complete.

Usage:
Connect to a shell on your Android device, via a terminal emulator or using adb:
adb shell
Run "sb", the helper script to get Root Bash:


The script will make you root and configure /system filesystem to be writable and start bash.

MovieMasher Online OSS Video Editor

posted May 18, 2011, 5:53 AM by Jaco Vosloo   [ updated May 18, 2011, 6:03 AM ]

Movie Masher is an online open source video editing platform.  It seems better than the Kaltura oss editor.



Zenoss on Ubuntu 10.04 Howto

posted May 7, 2011, 12:28 PM by Jaco Vosloo

This is a shortened howto for configuring Zenoss on Ubuntu 10.04.

Preparation:
Mysql must have non empty root password.


apt-get install build-essential autoconf swig
apt-get install libmysqlclient15-dev
apt-get install python-dev
apt-get install svn-buildpackage

adduser zenoss
mkdir /usr/local/zenoss
chown zenoss /usr/local/zenoss

visudo  (loads sudo editor – nano in this case - add the following 2 lines)
zenoss monitor = NOPASSWD: /usr/local/zenoss/bin/*,/bin/kill
Defaults env_keep += "PYTHONPATH ZENHOME"

su zenoss
cd ~

nano  .bashrc
Append:
export ZENHOME=/usr/local/zenoss
export PYTHONPATH=$ZENHOME/lib/python
export PATH=$ZENHOME/bin:$PATH

#Get latest url from here: http://sourceforge.net/projects/zenoss/files/
wget http://sourceforge.net/projects/zenoss/files/zenoss-3.1/zenoss-3.1.0/zenoss-3.1.0.tar.gz
tar -xzf zenoss*.gz
cd zenoss*
./install.sh
zenoss restart

Go to http://localhost:8080/zport/dmd
Username:admin


https://help.ubuntu.com/community/Zenoss

Android Eclipse and OpenSUSE howto

posted May 7, 2011, 8:13 AM by Jaco Vosloo   [ updated May 7, 2011, 1:29 PM ]

Here's a summarized howto for setting up Android development on Suse.

  • Using Yast select View>Patterns then install:
    Base Development; Linux Kernel Development; Java Development.

  • Download
  • Eclipse x64 classic
  • Android SDK

  • On the console run:
    tar -xvf eclipse-SDK-3.5.1-linux-gtk-x86_64.tar.gz
    tar -xvf android-sdk_r04-linux_86.tgz
    su
    mv eclipse /usr/local/bin
    mv android-sdk-linux_86/ /usr/local/bin
    touch /usr/local/bin/eclipse/eclipse.sh
    chmod 755 /usr/local/bin/eclipse/eclipse.sh
    chown -R root:root /usr/local/bin/eclipse

  • /usr/bin/xdg-su -c "kate /usr/local/bin/eclipse/eclipse.sh"
    #!/bin/bash
    export GDK_NATIVE_WINDOWS=1
    unset MALLOC_CHECK_
    /usr/local/bin/eclipse/eclipse

  • Right-click KDE Start Button>Menu Editor>New Item:
    Name: Eclipse
    Location: /usr/local/bin/eclipse/eclipse.sh
    Icon: /usr/local/bin/eclipse/icon.xpm

  • Start Eclipse. 
  • Add the following update sites if missing.
    Open: Window>Preferences>Install/Update>Available Software Sites>Add.
    https://dl-ssl.google.com/android/eclipse/
    http://download.eclipse.org/eclipse/updates/3.6/
    http://download.eclipse.org/releases/helios/

  • Help>Install new software
    Location:https://dl-ssl.google.com/android/eclipse/
    Install everything.

  • Eclipse>Window>Preference>Android
    Set SDK Location: /usr/local/bin/android-sdk-linux_86

  • Download Android SDK features:
    Eclipse>Window>Android SDK and AVD manager
    or
    /usr/local/bin/android-sdk-linux_x86/tools/android update sdk &

Mozilla Firefox security dumber than IE

posted Mar 17, 2011, 7:53 AM by Jaco Vosloo   [ updated Apr 5, 2011, 6:55 AM ]

I don’t know how to say this, it is so ghastly, so gut wrenchingly stupid that I just can’t find the words…

According to the security specialists at Mozilla, HTTP is more secure than HTTPS!  The Firefox browser will happily allow you to access an HTTP website and send your passwords in clear text but if you dare to access an HTTPS website with even the slightest problem with its certificate, Firefox freaks out and tells you that this is the worst mistake you have ever made. You are not allowed to access this website without signing away your life.  

It gets even worse, if you happen to go to a website like this against its wishes, Firefox behaves like a spoilt child and stops telling about any kind of security risks with this website.

Here is Firefox throwing its toys:


Here is Firefox after I said I still want to go to the website, it now marks the website as completely trusted and secure (see the blue bar in the left corner of the address bar and compare it to the Mozilla website’s blue bar.)

 






In comparison, here is Chrome giving an extreme but still manageable warning about the website:


And after asking chrome to continue, it still shows me that the website is insecure in the left of the address bar.

 

Even IE8 got it right, now it makes you wonder how on earth did Mozilla get it so wrong?


In closing, Mozilla stop telling me an insecure site is secure and stop thinking you know better than me what I want.  I switched to chrome once before because of this, this time I might just slash your tires...


CSS Table replacement for HTML Tables

posted Mar 14, 2011, 4:47 AM by Jaco Vosloo   [ updated Mar 14, 2011, 4:50 AM ]

Use Display:table to format web pages where the <table> tag used to be needed.

http://www.digital-web.com/articles/everything_you_know_about_CSS_Is_wrong/
http://www.onenaught.com/posts/201/use-css-displaytable-for-layout

Using html <table>
Hello Before we can begin to look at form layout, we need to craft some really solid markup that will provide us with a framework to which we can add some style. Forms represent the one area of your web site where you absolutely must commit time and energy to ensure user accessibility. Even though forms represent some of the most complex interactions that can occur on a web page, in many cases these interactions are only represented visually -- via the proximity of a form element to its label, or grouping by borders and background colors. Users of assistive technology such as screen readers may not be able to see these visual clues, so it's vital that you support these users by ensuring accessibility. The key concept behind providing an accessible form is to have descriptive labeling of all its sections. Hello

Using CSS table:
Hello
Before we can begin to look at form layout, we need to craft some really solid markup that will provide us with a framework to which we can add some style. Forms represent the one area of your web site where you absolutely must commit time and energy to ensure user accessibility. Even though forms represent some of the most complex interactions that can occur on a web page, in many cases these interactions are only represented visually -- via the proximity of a form element to its label, or grouping by borders and background colors. Users of assistive technology such as screen readers may not be able to see these visual clues, so it's vital that you support these users by ensuring accessibility. The key concept behind providing an accessible form is to have descriptive labeling of all its sections.
Hello

Using CSS Float:
Hello
Before we can begin to look at form layout, we need to craft some really solid markup that will provide us with a framework to which we can add some style. Forms represent the one area of your web site where you absolutely must commit time and energy to ensure user accessibility. Even though forms represent some of the most complex interactions that can occur on a web page, in many cases these interactions are only represented visually -- via the proximity of a form element to its label, or grouping by borders and background colors. Users of assistive technology such as screen readers may not be able to see these visual clues, so it's vital that you support these users by ensuring accessibility. The key concept behind providing an accessible form is to have descriptive labeling of all its sections.
Hello

1-10 of 18