OK.
The new version of NetworkManager has explicit support for GSM modems.
So forget using kppp and so on or things will get terminally confused.
The way this beast works is:
- you insert the device
- UDEV tells HAL that it has been inserted
- HAL looks up a XML-based "information" file. These are where the
rubber hits the road. The system files are in
/usr/share/hal/fdi/
and any files you may write go into
/etc/hal/fdi/
- HAL determines from the USB vendor/model codes it was handed
that you've got a GSM modem. The policy files contain related
details like which USB Serial port to use for PPP, what dialing
algorithm to use, etc.
- HAL pumps these details to NetworkManager, probably via DBUS
- NetworkManager daemon chats with the NetworkManager applet to
grab other data, such as PIN numbers
- NetworkManager kicks off PPP using the combined information
from HAL and the NM applet.
Since you imply you're using KDE, I've no idea if the KDE network
manager applet can prompt for GSM PINs.
I use a Telstra card and 'simply' had to add another .fdi file to
the HAL policy to make it work. I modelled it on the files for
similar equipment that were already in the /usr/share/hal collection.
You might be even better off and simply need to add a USB model
to an existing entry. There's a XML <merge> statement which will
do that nicely so that there's no need to edit the system-provided
files, but add one under /etc/fdi/information.
Personally I found the lack of man pages or other documentation simply
outrageous and the whole exercise reminded me why I hate the Linux
vendors' cheapskate engineering and lack of even basic QA.
More change can be expected in this area, since there's obvious
overlap between udev and HAL (not to mention the gazillion existing
methods used to do keycode assignment).
Hopefully it will also integrate all devices, at last allowing
effective policy -- such as sysadmins being able to ban removable
storage devices (or mount them with wheel access only).
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<match key="info.category" string="serial">
<!-- Telstra Series 7 ("Sierra Wireless 880U" HSDPA modem)
This appears as USB/serial ports:
0 Sierra Wireless AT command port (UMTS)
1 Sierra Wireless DM port
2 Sierra Wireless CNS port
3 Sierra Wireless data port
-->
<match key="@info.parent:usb.vendor_id" int="0x1199">
<match key="@info.parent:usb.product_id" int_outof="0x6855">
<match key="@info.parent:usb.interface.number" int="0">
<match key="serial.port" int="2">
<append key="info.capabilities" type="strlist">modem</append>
<append key="modem.command_sets" type="strlist">GSM-07.07</append>
<append key="modem.command_sets" type="strlist">GSM-07.05</append>
</match>
</match>
</match>
</match>
</match>
</device>
</deviceinfo>
If it works in Ubuntu, you might want to compare the FDI files
/usr/share/hal/fdi/information/10freedesktop/10-modem.fdi
or simply look through that file paying attention to USB IDs.
--
Glen Turner <http://www.gdt.id.au/~gdt/>
--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html