Even thou the airprime driver does its job, there are still some funky interactions between hal-info and the kernel. For example, issuing a FindDeviceByCapability("modem") with two cards at the same time yielded the following result:
dbus.Array([dbus.String(u'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_0_if0_serial_usb_6'), dbus.String(u'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if0_serial_usb_2'), dbus.String(u'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if0_serial_usb_1'), dbus.String(u'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if0_serial_usb_0')], signature=dbus.Signature('s'))
But the "modem-capable" devices were actually at ttyUSB{0,1} ttyUSB3 and ttyUSB6.
Even thou the airprime driver does its job, there are still some funky interactions between hal-info and the kernel. For example, issuing a FindDeviceByCap ability( "modem" ) with two cards at the same time yielded the following result:
dbus.Array( [dbus.String( u'/org/ freedesktop/ Hal/devices/ usb_device_ 12d1_1003_ noserial_ 0_if0_serial_ usb_6') , dbus.String( u'/org/ freedesktop/ Hal/devices/ usb_device_ 12d1_1003_ noserial_ if0_serial_ usb_2') , dbus.String( u'/org/ freedesktop/ Hal/devices/ usb_device_ 12d1_1003_ noserial_ if0_serial_ usb_1') , dbus.String( u'/org/ freedesktop/ Hal/devices/ usb_device_ 12d1_1003_ noserial_ if0_serial_ usb_0') ], signature= dbus.Signature( 's'))
But the "modem-capable" devices were actually at ttyUSB{0,1} ttyUSB3 and ttyUSB6.