Hi all,
as soon as i have read "ANNOUNCEMENT: gammu 1.24.0 / Make dku2 connection types work on Linux (alias to fbususb)", I've been wanting it to work on my setup, but i have some problems :-(
first, i'd like to describe my current usage of gammu : i connect lots of different phones , with usb cables, on a gentoo linux machine, thanks to cdc_acm driver, all with connection=at. all these phones are given meaningful /dev entries thanks to udev custom rules :
# ls -alrt /dev | grep ttyACM
crw-rw---- 1 root users 166, 0 Apr 20 14:26 ttyACM0
lrwxrwxrwx 1 root root 7 Apr 20 14:26 seZ530 -> ttyACM1
lrwxrwxrwx 1 root root 7 Apr 21 11:16 seZ310 -> ttyACM3
crw-rw---- 1 root users 166, 3 Apr 22 08:42 ttyACM3
crw-rw---- 1 root users 166, 1 Apr 22 09:09 ttyACM1
lrwxrwxrwx 1 root root 7 Apr 22 10:09 nokia5300 -> ttyACM4
crw-rw---- 1 root users 166, 4 Apr 22 10:58 ttyACM4
crw-rw---- 1 root users 166, 2 Apr 22 11:30 ttyACM2
lrwxrwxrwx 1 root root 7 Apr 22 11:30 nokia6680.front.top -> ttyACM2
crw-rw---- 1 root users 166, 5 Apr 22 11:30 ttyACM5
lrwxrwxrwx 1 root root 7 Apr 22 11:30 nokia6680.back.top.right -> ttyACM5
lrwxrwxrwx 1 root root 7 Apr 22 11:30 nokia6680 -> ttyACM5
# grep port ~/.gammurc
port=/dev/nokia5300
port=/dev/nokia3500c
port=/dev/nokiaN80
port=/dev/seZ530
port=/dev/seZ310
port=/dev/nokia6680
port=/dev/nokiaE61
port=/dev/nokiaE65
port=/dev/samsungU600
port=/dev/nokia6680.front.top
port=/dev/nokia6680.front.bottom
port=/dev/nokia6680.back.top.left
port=/dev/nokia6680.back.top.right
port=/dev/nokia6680.back.bottom.left
port=/dev/nokia6680.back.bottom.right
it allows me to initate + answer calls from one MS to another, send SMSs , etc... unfortunately, none of the nokia phones i own can read SMS with AT commands (known issue with the +CPMS: (),(),() results on some nokia phones), only sonyericsson and samsung phones SMSs can be read with gammu.
that is why i want connection=fbususb to work with nokia phones, as far as i understood , it could allow me to read SMS's .
so i installed libusb-1, gammu-1.24.0, and gave it a try with a .gammurc such as the following :
[gammu101]
port=/dev/nokia6680.front.top
connection=at
logfile = /var/log/gammu/101.log
logformat = textall
[gammu201]
port=/dev/nokia6680.front.top
connection=fbususb
logfile = /var/log/gammu/201.log
logformat = textall
[gammu102]
port=/dev/nokia5300
connection=at
logfile = /var/log/gammu/102.log
logformat = textall
[gammu202]
port=/dev/nokia5300
connection=fbususb
logfile = /var/log/gammu/202.log
logformat = textall
such a setup allow me to show that AT connections works correctly with many phones connected whereas fbususb do not work as soon as the Nokia 6680 is plugged in .
so when using AT connection, it is OK :
msctrl gammu-1.24.0 # /var/tmp/portage/app-mobilephone/gammu-1.24.0/work/gammu_build/gammu/gammu 101 identify
Manufacturer : Nokia
Model : 6680 (Nokia 6680)
Firmware : V 04wk47v43.1,26-05-05
IMEI : xxxxxxxxxxxxxxx
SIM IMSI : xxxxxxxxxxxxxxx
msctrl gammu-1.24.0 # /var/tmp/portage/app-mobilephone/gammu-1.24.0/work/gammu_build/gammu/gammu 102 identify
Manufacturer : Nokia
Model : 5300 (Nokia 5300)
Firmware : V 07.20,23-10-08
IMEI : xxxxxxxxxxxxxxx
SIM IMSI : xxxxxxxxxxxxxxx
whereas if using the fbususb connection it is NOK :
msctrl gammu-1.24.0 # /var/tmp/portage/app-mobilephone/gammu-1.24.0/work/gammu_build/gammu/gammu 201 identify
Unknown model type string. Check config file.
msctrl gammu-1.24.0 # /var/tmp/portage/app-mobilephone/gammu-1.24.0/work/gammu_build/gammu/gammu 202 identify
Unknown model type string. Check config file.
here is the strange thing, i understand that the 6680 (201) can not work yet with fbususb, ( it is not supported and i intend to work on this later ) but i know that the Nokia 5300 (202) can work with fbususb, so lets have a look at some lines of log files :
msctrl gammu-1.24.0 # diff /var/log/gammu/201.log /var/log/gammu/202.log
5c5
< [Device - "/dev/nokia6680.front.top"]
---
> [Device - "/dev/nokia5300"]
msctrl gammu-1.24.0 # grep RM- /var/log/gammu/20?.log
/var/log/gammu/201.log:311|0A |322|366|2D-|300|355|2D-|300|355|0A |52R|4DM|2D-|333|366 1.26-05-05.RM-36
/var/log/gammu/201.log:Received model RM-36
/var/log/gammu/201.log:[Connected model - "RM-36"]
/var/log/gammu/202.log:311|0A |322|366|2D-|300|355|2D-|300|355|0A |52R|4DM|2D-|333|366 1.26-05-05.RM-36
/var/log/gammu/202.log:Received model RM-36
/var/log/gammu/202.log:[Connected model - "RM-36"]
this shows that even if gammu is using /dev/nokia5300, results are the same as if using /dev/nokia6680.front.top !
lets unplug the 6680 and retry only for the 5300 :
msctrl gammu-1.24.0 # /var/tmp/portage/app-mobilephone/gammu-1.24.0/work/gammu_build/gammu/gammu 202 identify
Manufacturer : Nokia
Model : 5300 (RM-146)
Firmware : 07.20 C (23-10-08)
Hardware : 2510
IMEI : xxxxxxxxxxxxxxx
Product code : 0537659
it works then, no more "mixed devices" , the fbususb connection correctly reads the Nokia 5300. as soon as i replug the 6680, i get the "mixed devices" issue again :-(
i'm not able to determine if this is because of cdc_acm, udev, libusb-1, or gammu, but i suspect there could be a bug in gammu's usage of libusb-1.
could you please help and guide me to verify what is wrong ?
i can apply some patches/diff files, recompile, test, or provide any needed traces or log file, but my coding skills are not good enough to understand in depth what gammu does with libusb , sorry.
i hope the description of the issue is clear enough, Thanks for your help.
|