WiFi

From Pandora Wiki
Revision as of 11:43, 26 March 2013 by Wally (talk | contribs)
Jump to: navigation, search

This page is intended as a collection point for all things WiFi.

Connection Speed

Users have reported[1] a wide range of download speeds over WiFi. This is logged bug # 140 in the bug tracker. This is not an easy problem to fix without identifying the cause of the problem, particularly since wi-fi performance will be affected by other devices on your network, and neighboring sources of interference.

A suggestion for improving connection speed is to disable power-saving

sudo iwconfig wlan0 power off

Depending on the situation, this may help.

Also check this detailed report, which concludes, that disabling power saving very likely improves the situation (on the Original, Rebirth and the 1Ghz Pandora), as of 2013-01 SuperZaxxon 1.52, the power saving algorithm in the binary blob from TI and/or its calibration is so over-aggressive, that it fails in many situations.

Unable to connect

Network manager is the application used to provide the GUI interface for wireless. It will sometimes get confused, and fail to re-connect after the connection has been lost. The easiest fix to try is right click on the network icon, and disable-wireless (then re-enable). If that fails, you can try removing the connection settings (edit connections), rebooting, and re-connecting. This is a problem which is also seen on desktop machines, the bug is most likely in Network manager.

Hotfix4 beta 3 includes an updated wifi driver which ought to fix this problem.

Currently (7th November 2011) the wifi driver does not appear to support 802.11e QoS so make sure this is disabled on your access-point/router... (can anyone confirm this?)

Note: on my Pandora Network Manager Popup suggests to tap the usual (concentric-circle-segments) icon to select a network. However, the icon shown at the bottom of the screen is that of two computer screens.

Terminal wifi configuration

Sometimes, you may wish to bypass network manager and configure the wifi directly. See Wireless from the Terminal for some guidance on how to do this.

WiFi LED

As of Hotfix3, the wiFi LED (3rd from the left) will probably not come back on after entering low power state. This is logged as bug # 144

A hack to make this work is provided with the bug report,but be aware that this is untested and could break your system.

HotSpot Tethering

Android phones running 2.2 and above provide the option to share a mobile network connection using WiFi. This is tested for connecting to the Pandora and works (at least with a HTC Desire).

Calibration

Sad story

There is a theory that pandora's wifi problems may come from bad calibration. ED buys wifi chips that are supposed to be pre-calibrated in factory (calibration data stored in an EEPROM inside of chip), but it is known that unlike pandora, other devices like N900 and HTC Dream did calibration only after full assembly, so chip-only calibration might be wrong. We don't have any hardware/software tools for automatic calibration, so since SuperZaxxon 1.54 there is an ability to dump calibration NVS/EEPROM for manual hex editing, and to load it into the chip from file instead of EEPROM (one time only, not permmament).

Dumping the calibration (NVS)

Basic linux terminal console skills are required for this operation. First make sure wifi driver is unloaded:

$ sudo rmmod wl1251_sdio

Now load the driver with special argument:

$ sudo modprobe wl1251_sdio dump_eeprom=1

The driver will now take ~20s to load, as it will dump NVS on startup. When the command is done, check dmesg output for "wl1251: eeprom dumped." to see if dumping was successful:

$ dmesg | tail
...
[ 7727.834442] wl1251: using dedicated interrupt line
[ 7743.942993] wl1251: eeprom dumped.
...

Now you need to to get the dump out of the driver to a file, which is done through debugfs:

$ sudo mkdir /debug
$ sudo mount -t debugfs debugfs /debug
$ sudo cp /debug/wl1251/dump_nvs /somewhere/wl1251-nvs.bin

You should now have NVS dump in /somewhere/wl1251-nvs.bin

Dump file format

See http://notaz.gp2x.de/misc/pnd/wl1251/nvs_map.txt for wl1251-nvs.bin format description that has been found somewhere on the net.

Loading calibration from file

Loading a NVS file instructs the chip not to read the EEPROM, driver uploads the data to chip instead, so doing it doesn't make permament changes. First we need to unload the driver again:

$ sudo rmmod wl1251_sdio

Copy the (possibly modified) file to /lib/firmware/

$ sudo cp /somewhere/wl1251-nvs.bin /lib/firmware/

Now load the driver again with special argument:

$ sudo modprobe wl1251_sdio force_nvs_file=1

Wifi should now start with calibration from file. Note that this mode doesn't set up your usual MAC address, it will be random.