Patch for supporting Samsung Android USB Modem / here: SGS3
Posted: 19 Feb 2014, 13:29
Hi,
as I had severe issues getting the Samsung Android Modem (/dev/ttyACM0) on the Samsung Galaxy S3 GT-I9300 running, here is why :
Loading the device in linux, it normally defaults to configuration 0 or 1, which will
only support mtp configuration, but not cdc_acm support. This needs switching to configuration 2.
I tried with usb_modeswitch -v04e8 -p6860 -u2 which obviously failed saying that the default configuration is already selected, which confused me a bit. After debugging the source code, I was quickly able to detect what's wrong : the current configuration is detected as 2, although 0/1 is active in fact. I needed to patch the wrong configuration detection in order to enable switching, see attached file , to be patched against the version 2.1.0.
After that, the rest was easy :
first adding the following config to /etc/usb_modeswitch.d/04e8:6860 :
and adding the following line to /lib/udev/rules.d/40-usb_modeswitch.rules :
After that, if not already running, do a modprobe cdc_acm and then plug the Samsung Android Device.
To test, use a terminal program of your choice, use as device /dev/ttyACM0 and send "AT+DEVCONFIG?", you should get some device information as answer. Kies protocol should then be also running fine as well.
Hope this will help all other as well struggeling with the modem.
as I had severe issues getting the Samsung Android Modem (/dev/ttyACM0) on the Samsung Galaxy S3 GT-I9300 running, here is why :
Loading the device in linux, it normally defaults to configuration 0 or 1, which will
only support mtp configuration, but not cdc_acm support. This needs switching to configuration 2.
I tried with usb_modeswitch -v04e8 -p6860 -u2 which obviously failed saying that the default configuration is already selected, which confused me a bit. After debugging the source code, I was quickly able to detect what's wrong : the current configuration is detected as 2, although 0/1 is active in fact. I needed to patch the wrong configuration detection in order to enable switching, see attached file , to be patched against the version 2.1.0.
After that, the rest was easy :
first adding the following config to /etc/usb_modeswitch.d/04e8:6860 :
Code: Select all
DefaultVendor= 0x04e8
DefaultProduct= 0x6860
TargetVendor= 0x04e8
TargetProduct= 0x6860
Configuration=2and adding the following line to /lib/udev/rules.d/40-usb_modeswitch.rules :
Code: Select all
# Samsung Android
ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6860", RUN+="usb_modeswitch '%b/%k'"To test, use a terminal program of your choice, use as device /dev/ttyACM0 and send "AT+DEVCONFIG?", you should get some device information as answer. Kies protocol should then be also running fine as well.
Hope this will help all other as well struggeling with the modem.