information required to replace Maemo5 wlan bits

information required to replace Maemo5 wlan bits

Jonathan Wilson
Karma: 92
2012-07-19 20:13 UTC
Here is the information on the things you need to know
about/provide/use/etc in order to replace the Maemo5 ICD WLAN plugin with
something better (e.g. based on wpa-supplicant) and have every other
package on the stock install continue to work properly.
You will need to replace the following packages (and update the ICD2
configs accordingly)
osso-wlan
osso-wlan-security
libicd-network-wlan
libicd-network-wps
libicd-network-eap
and possibly icd2-network-wlan-config

You may need to send the following dbus messages
com.nokia.icd_ui.show_private_key_passwd_dlg
com.nokia.icd_ui.show_gtc_dlg
com.nokia.icd_ui.show_server_cert_dlg
com.nokia.icd_ui.show_mschap_change_dlg
com.nokia.icd_ui.show_passwd_dlg

You may need to add handlers for the following dbus signals:
com.nokia.icd_ui.passwd
com.nokia.icd_ui.mschap_change
com.nokia.icd_ui.gtc_response
com.nokia.icd_ui.private_key_passwd
com.nokia.icd_ui.server_cert
com.nokia.wps_ui.method_sig

You will need to respond to the following dbus messages:
com.nokia.wlancond.request

You will need to signal on the following dbus signals:
com.nokia.wlancond.signal.scan_results
com.nokia.eap.signal.wps_success

You may need to read files from /usr/share/sub-ca-certificates
You may need to use maemosec libraries and other things to read certificates

And you will probably need to read or write the following gconf keys (In
particular note that type and wlan_security need to be set to match stock
Maemo. Some keys will need to be read, some will need to be written to,
some will need to be both read and written to. This list is all the
relevant gconf keys referenced by both the packages being replaced and by
other packages on the system. The %s is replaced with the IAP name,
whatever that might be.)
/system/osso/connectivity/IAP/wlan_tx_power
/system/osso/connectivity/IAP/%s/type
/system/osso/connectivity/IAP/%s/wlan_security
/system/osso/connectivity/IAP/%s/wlan_ssid
/system/osso/connectivity/IAP/%s/wlan_wepdefkey
/system/osso/connectivity/IAP/%s/wlan_wepkey1
/system/osso/connectivity/IAP/%s/wlan_wepkey2
/system/osso/connectivity/IAP/%s/wlan_wepkey3
/system/osso/connectivity/IAP/%s/wlan_wepkey4
/system/osso/connectivity/IAP/%s/nai
/system/osso/connectivity/IAP/%s/temporary
/system/osso/connectivity/IAP/%s/wlan_hidden
/system/osso/connectivity/IAP/%s/EAP_wpa2_only_mode
/system/osso/connectivity/IAP/%s/powersave_after_scan
/system/osso/connectivity/IAP/%s/wlan_powersave
/system/osso/connectivity/IAP/%s/wlan_adhoc_channel
/system/osso/connectivity/IAP/%s/EAP_TLS_PEAP_client_certificate_file
/system/osso/connectivity/IAP/%s/EAP_default_type
/system/osso/connectivity/IAP/%s/EAP_wpa_preshared_passphrase
/system/osso/connectivity/IAP/%s/PEAP_tunneled_eap_type
/system/osso/connectivity/IAP/%s/EAP_MSCHAPV2_username
/system/osso/connectivity/IAP/%s/EAP_MSCHAPV2_password
/system/osso/connectivity/IAP/%s/EAP_GTC_identity
/system/osso/connectivity/IAP/%s/EAP_wpa_preshared_key
/system/osso/connectivity/IAP/%s/EAP_SIMPLE_CONFIG_device_password
/system/osso/connectivity/IAP/%s/EAP_MSCHAPV2_password_prompt
/system/osso/connectivity/IAP/%s/EAP_manual_username
/system/osso/connectivity/IAP/%s/EAP_use_manual_username
/system/osso/connectivity/IAP/%s/TLS_server_authenticates_client_policy_in_client


Combining this information with e.g. libicd-network-wpa could allow a
proper open-source drop-in replacement for the WiFi infrastructure on
Maemo5 Fremantle (for e.g. CSSU) that will automatically pick up all your
existing WiFi networks. No I dont have time to actually write any code for
this.
  •  Reply

Re: information required to replace Maemo5 wlan bits

Anderson Lizardo
Karma: 279
2012-07-23 10:56 UTC
Hi, Jonathan,

On Thu, Jul 19, 2012 at 4:13 PM, Jonathan Wilson <jfwfreo@tpgi.com.au> wrote:
> Here is the information on the things you need to know about/provide/use/etc
> in order to replace the Maemo5 ICD WLAN plugin with something better (e.g.
> based on wpa-supplicant) and have every other package on the stock install
> continue to work properly.
> [snip]

Just to let you know, that IMHO the analysis and information you are
collecting are even more important than rewriting the proprietary
components. It helps both understanding the inner workings of the
system (what about writing a "Maemo 5 Internals" document for the
proprietary parts? :)) and help people interacting with these
components, customizing them (e.g. binary patching) or replacing them
when necessary.

Anyway, I appreciate reading these RE analysis, even though I'm not
actively using my N900 (now playing with N9). Maybe it could be added
to some wiki section as well?

Best Regards,
--
Anderson Lizardo
  •  Reply

Re: information required to replace Maemo5 wlan bits

Pali Rohár
Karma: 1382
2012-12-01 12:27 UTC
On Friday 20 July 2012 04:13:05 Jonathan Wilson wrote:
> /system/osso/connectivity/IAP/wlan_tx_power
> /system/osso/connectivity/IAP/%s/type
> /system/osso/connectivity/IAP/%s/wlan_security
> /system/osso/connectivity/IAP/%s/wlan_ssid
> /system/osso/connectivity/IAP/%s/wlan_wepdefkey
> /system/osso/connectivity/IAP/%s/wlan_wepkey1
> /system/osso/connectivity/IAP/%s/wlan_wepkey2
> /system/osso/connectivity/IAP/%s/wlan_wepkey3
> /system/osso/connectivity/IAP/%s/wlan_wepkey4
> /system/osso/connectivity/IAP/%s/nai
> /system/osso/connectivity/IAP/%s/temporary
> /system/osso/connectivity/IAP/%s/wlan_hidden
> /system/osso/connectivity/IAP/%s/EAP_wpa2_only_mode
> /system/osso/connectivity/IAP/%s/powersave_after_scan
> /system/osso/connectivity/IAP/%s/wlan_powersave
> /system/osso/connectivity/IAP/%s/wlan_adhoc_channel
> /system/osso/connectivity/IAP/%s/EAP_TLS_PEAP_client_certificat
> e_file
> /system/osso/connectivity/IAP/%s/EAP_default_type
> /system/osso/connectivity/IAP/%s/EAP_wpa_preshared_passphrase
> /system/osso/connectivity/IAP/%s/PEAP_tunneled_eap_type
> /system/osso/connectivity/IAP/%s/EAP_MSCHAPV2_username
> /system/osso/connectivity/IAP/%s/EAP_MSCHAPV2_password
> /system/osso/connectivity/IAP/%s/EAP_GTC_identity
> /system/osso/connectivity/IAP/%s/EAP_wpa_preshared_key
> /system/osso/connectivity/IAP/%s/EAP_SIMPLE_CONFIG_device_passw
> ord
> /system/osso/connectivity/IAP/%s/EAP_MSCHAPV2_password_prompt
> /system/osso/connectivity/IAP/%s/EAP_manual_username
> /system/osso/connectivity/IAP/%s/EAP_use_manual_username
> /system/osso/connectivity/IAP/%s/TLS_server_authenticates_clien
> t_policy_in_client
>

If you want to specify password for EAP_GTC_identity store it to:

/system/osso/connectivity/IAP/%s/EAP_GTC_passcode

--
Pali Rohár
pali.rohar@gmail.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iEYEABECAAYFAlC5974ACgkQi/DJPQPkQ1ILQwCgvZNFD1wDp1k2mNq5FpYH27V5
i5cAoLfTMnPLLS7YT63DVuqiY5iwt1PJ
=OZKK
-----END PGP SIGNATURE-----

  •  Reply