ICd autoconnection hack (Bug #3399)

The project page for a hack that tries to fix Maemo's Internet Connection Daemon (ICd)

All available languages for this article:

ICd autoconnection hack (Bug #3399) [en]



Problem Description

Please see the description of Bug #3399. Note that this code will probably only run on a recent Maemo 5 (i.e. N900).

Hack Description

  1. Scan periodically for wireless APs that have been specified on the commandline
  2. If a specified ("enabled") AP has been found and we're not currently connected via WiFi: Drop the current connection, connect to the found AP
  3. Goto 1


  1. Download icd_hack
  2. Run it in the terminal with the ESSID/Names (please read section Bugs before asking me why it does not work) of enabled APs as arguments:
      $ ./icd_hack ESSID1 ESSID2 [...]

Screenshot: running in terminal


  • After first running the code, it will disconnect ANY connection which may be established. This is because the initial connection event is not received by libconic as promised in the docs: http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Using_Connectivity_Components/Maemo_Connectivity#Listening_for_Connection_Events
  • No immediate attempt to connect after a connection has been closed, yet. You'll have to wait the search interval
  • It probably wastes some energy because scanning is done quite often (but that's the price for being online 24/7, i guess)
  • The name of the IAP (the name of the connection in the connectivity GUI) must be exactly the same as the ESSID of the network
  • This does not work with hidden networks, I guess
  • It probably leaks a lot of memory at the moment, but hey. This is a proof of concept.
  • It makes abusive use of several DBUS interfaces
  • It makes the connection dialog look weird (show the current connection with wrong signal strenth and wrong encryption type) … time to file another bug, heh? Screenshot: GUI bug
  • Release the sourcecode … but not yet as it is way too ugly!
  • Scanning every 30 seconds messes up (local file) playback via A2DP exactly every 30 seconds *sigh* (see #8577)
  • If connection to the network fails, a "Connection failed" dialog will be displayed … and not only one but up to an infinite number …


© 1999 - 2018 ScriptKiller
Impressum | Sitemap
Bei der Nutzung dieser Webseite werden IP-Adressen und Informationen über verwendete Browser in Logfiles gespeichert. Mit der Nutzung erkennen Sie diese Tatsache an.