Mobile Hotspot

Aka "Joikuspot killer" for N900. This project was started before Joiku had announced that there will be JoikuSpot for N900 and is continued out of combination of intellectual curiosity and philosophical reasons (the whole free as in freedom vs proprietary software skit)

The aim is to provide neccessary backend scripts and cli tools and usable frontend UI for users to share their N900 cellular data connection over WiFi.

The plan(tm)

Garage project page


Quick instructions

Untill we have nice debs of everything in corect repos this is the way to get hotspot running. You need to know how to install stuff from the terminal (knowing how to reflash your device is highly recommended).

  1. Install the Kernel For Power Users via application manager and verify it works.
  2. Install mobilehotspot via application manager.
  3. Run the frontend via menu or from terminal (/usr/bin/mobilehotspot as user)

To debug issues with hotspot backend (the frontend is only used for configuring and calling the backend) run it manually from terminal (via sudo or as root): /usr/sbin/mobilehotspot_backend start and /usr/sbin/mobilehotspot_backend stop are the self-explanatory commands

How to restore the original kernel

apt-get install --reinstall kernel kernel-flasher and reboot

This way there is no need to reflash the rootfs, which saves some time restoring backups (you did have backups, right ?)

I want different ip/whatever

Read the source and figure which config keys to change, then use for example python from terminal to change the value

import gconf
gc = gconf.Client()
gc.set_string('/apps/mobilehotspot/network_address', '10.10.10.')
NOTE: Read the backend source before mucking about with the config keys, for example the network here is missing the last octet on purpose

How to change kernel feature X

  1. Get scratchbox and activate the ARMEL target (be sure to get the fiasco-gen package too)
  2. Checkout the patches directory inside scratchbox, for example to ~/src/kernel_patches/
  3. Make a clean dir for your kernel experiments, for example to ~/src/kernel_pr11/
  4. In your clean dir run apt-get source kernel && ~/src/kernel_patches/
  5. cd hotspot-kernel-2.6.8
  6. make rx51_defconfig && cp .config .config.rx51 && patch -i hotspot_config.patch
  7. Configure the kernel as you wish
  8. Overwrite the hotspot_config.patch with a new one including your changes, for example diff -C50 .config.rx51 .config >hotspot_config.patch (you might need significantly less context, but for some options you really do need a ton)
  9. Remove the first chunk of the patch (the configure datetime, this will always conflict)
  10. Make sure your patch works, cp .config .config.mine && make rx51_defconfig && patch -i hotspot_config.patch
  11. Run dpkg-buildpackage -rfakeroot -b to build the debs
  12. Install your modules deb
  13. Install your kernel deb
  14. Install your kernel-flasher deb (and reboot)