Archive for April, 2010

WiFi working on gen7 under Ångström (binary only now, GPL hopefully soon) – part 2

Monday, April 12th, 2010

So, here is what you’ve been waiting for. We’re trying to make it as easy as possible. Though currently you’ll have to bring some previous Linux command line experience.

With the help of Archos we have prepared a few binaries you are free to download and use on your gen7 devices.

UPDATE: Fixed an issue where the wifi was deactivated. Now the ti-load script always enables wifi. Also the libssl package form the Ångström repository which is needed for wpa_supplicant is now included. – Thanks to johnsq for  bringing those to my attention.

Before you start you need to copy one or two files while running Android (or mount the ubifs, but that is probably not possible under stock SDE) the most important file is /data/misc/wifi/wlanconf.nvs and – if you want to have the wireless networks configured under android – also the wpa_supplicant.conf file located in the same directory. Just put them somewhere on /storage.

  • Now download our tarball, copy it onto the device and under sde as root unpack it into /home/root. This should create a directory wifi and an wpa_supplicant package inside /home/root.
  • Uninstall the previously installed supplicant by issuing “opkg remove wpa-supplicant“.
  • Install the archos-patched wpa_supplicant “opkg install libssl0.9.8_0.9.8j-r2.1_armv7a.ipk
  • Install the archos-patched wpa_supplicant “opkg install wpa-supplicant_0.5.10-r2.1_armv7a.ipk
  • Now go to the TI WI1271 Firmware website and download “TI_Connectivity_Package_Firmware_and_InitScripts_RLS25_11.tar.gz”. Unpack it and run it under Linux. Take the firmware.bin file and copy it onto your device into “/home/root/wifi/”. (The other option is to copy the Archos wifi firmware which resides under android in /usr/share/firmware.bin ; though I’m not sure about the legal status of doing so and hence do not recommend it)
  • Now copy your wlanconf.nvs to “/home/root/wifi/” (this file is specific to each device! It contains the device mac address and calibration data!)
    If you put it into “/storage/wlanconf.nvs” it is now to be found as “/mnt_data/wlanconf.nvs”.
  • You’re done with preparations. Time to test this!

To start wifi you have to cd to “/home/root/wifi/” and run “./ti-load”. Then you can start wpa_supplicant as follows. (I’ll assume you left it where you put it under android. Please delete the first line in that file with an editor, else it won’t work!) “wpa_supplicant -Dwext -itiwlan0 -c/mnt_data/wpa_supplicant.conf

Now it should start spitting out all sorts of messages and connect to your AP.

Now while wpa_supplicant is running you can issue “udhcpc -i tiwlan0″ (that’s tiwlan[ZERO]) to obtain an DHCP lease and establish an IP network connection.

Congratulations!

A few more words:

  1. This is just for the very eager people who want to try it out and know what they are doing.
  2. There is no need to build scripts to automate this process as the whole WiFi-driver is about to be upgraded and most likely the way how to enable WiFi will change completely.
  3. When 2. happens it will most likely go into the openAOS overlay and will be incorporated into an gen7 image.
  4. No you can’t have the sources right now, even we don’t have the sources for most of this. We don’t like this either. We are working on an OSS release and it will happen as soon as the new driver is done by Archos.
  5. The current boot-menu zImage as of writing this comment only allows the root user to access the network. This will be fixed soon.
WiFi works for our user Ian58

WiFi works for our user Ian58

Install the archos-patched wpa_supplicant “opkg install wpa-supplicant_0.5.10-r2.1_armv7a.ipk

WiFi working on gen7 under Ångström (binary only now, GPL hopefully soon)

Monday, April 12th, 2010

Something I wanted to write about already a few days ago but didn’t manage for private reasons.

We have the tiwlan driver working under Ångström. Currently we use the kernel module from the Archos Android image and userspace binaries kindly provided by Archos. I was told that the goal is to have an working (possibly newer version) GPL of driver and userspace. TI has its driver available as source for their ZOOM development platform, there might be slight differences to the Archos hardware though. I was informed that part of the code is already dual licensed GPL/Apache, thus a binary release is fine before anyone asks, the further source is under investigation and parties involved are hopeful to have an OSS release soon.

I will be updating this posting later today with the binaries and hopefully a script to get the essential data out of the device (each has specific calibration data).

update: As the whole writeup got a little longer I’ve put it in a second posting.

finally running – Ångström & Android

Friday, April 9th, 2010

Here we go!

Archos were so kind to quickly provide their latest kernel source and config. (Thanks again Vlado!) With this I was able to compile a kernel that works both with Ångström and Android. Things are going quite smooth now. I hope to have a refactored initrd during the next few days (as I said before the current one was more proof of concept and could not be released under GPL). Then it will be testing time for all the interested people out there.

Actually we could use some help with preparing android boot. Volunteers please report in on IRC now (see the “chat” link top right!).

Get the Flash Player to see this content.

Sorry for the poor quality. My 640×480 cam didn’t want to cooperate and I used a cheap ‘thingy’ I had lying around.

The music for this brief demonstration is coming from an Amiga demo named “Never Liked Uno” by The Lego Club. Ah, those were the days!

Our first test user Ian58 – who btw confirms that Android runs just fine – was so kind to shoot a video with his webcam. No fancy music as in mine but certainly better picture quality. Thanks!

No Android / Ångström boot menu yet for gen7

Thursday, April 1st, 2010

If you’re wondering why there is no working boot menu yet. I can tell you. Things are stalled since shortly after my last post. I found the problem and ran into the next one. But this time it proves to be a tough one:

init: can't open '/dev/null': No such file or directory

Looks totally innocent. But trust me I checked each and every file-system involved and they all have a /dev/null device node. I’ve tried countless things. Also rebuilt the kernel with an almost identical CMDLINE like the Archos kernel. Nope.

My last hope is that I can build a zImage from a patchset for the linux kernel source I have recieved from Archos (thanks!). Maybe that will finally and magically work… but for now I’m calling it a day and will try that tomorrow.

PS: On an unrelated note. Looks like we’re going to have WiFi working on gen7 soon. Got it working today but now have to wait for the patches I received to be open sourced. If somebody wants to play with binaries I might be able to give those away right now. Just contact me on IRC.