diff options
author | Shane Kearns <shane.kearns@sosco.com> | 2010-01-20 15:30:37 (GMT) |
---|---|---|
committer | Shane Kearns <shane.kearns@sosco.com> | 2010-01-20 20:31:22 (GMT) |
commit | cd5e75810d59ab6e92c88189015aee77448160e4 (patch) | |
tree | 8f5d99e9b24643d3f080a11fbabc1ac22651e458 /tools/runonphone/main.cpp | |
parent | 9bfabc79567355bc0e5502bfc04e74e70e3488b4 (diff) | |
download | Qt-cd5e75810d59ab6e92c88189015aee77448160e4.zip Qt-cd5e75810d59ab6e92c88189015aee77448160e4.tar.gz Qt-cd5e75810d59ab6e92c88189015aee77448160e4.tar.bz2 |
1st attempt at USB serial port enumerator for linux
Enumerate the ACM ports which are created in /dev after plugging in the
phone.
Tested on Kubuntu (karmic koala), using 5800XM and N95.
Linux has two USB drivers of interest.
1: CDC-ACM, this loads automatically, and creates /dev/ttyACM<n> for
the USB modem interface
2: USBSERIAL, this needs to be loaded manually using modprobe, and
creates /dev/ttyUSB<n> for each ACM interface on the phone
The second ttyUSB port is the one we need, this enumerator does not
pick the correct port yet. (1st port is ECACM:0, i.e. the modem, 2nd
port is ECACM:1, i.e. the general purpose port used by TRK)
according to lsusb, the 1st ACM descriptor has:
class 2 (comms)
subclass 2 (abstract - modem)
protocol 1 (AT commands)
2nd ACM descriptor has:
class 2 (comms)
subclass 2 (abstract - modem)
protocol 255 (vendor specific)
Linux 2.6.33 RC3 has a hardcoded list of nokia phones in cdc-acm.c for which
the protocol 255 ACM port will be recognised as a second ttyACM
Task-number: QTBUG-7446
Reviewed-by: Miikka Heikkinen
Diffstat (limited to 'tools/runonphone/main.cpp')
-rw-r--r-- | tools/runonphone/main.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/runonphone/main.cpp b/tools/runonphone/main.cpp index d8c306f..c7fc43f 100644 --- a/tools/runonphone/main.cpp +++ b/tools/runonphone/main.cpp @@ -175,7 +175,11 @@ int main(int argc, char *argv[]) } if(loglevel > 0) outstream << "Connecting to target via " << serialPortName << endl; +#ifdef Q_OS_WIN launcher->setTrkServerName(QString("\\\\.\\") + serialPortName); +#else + launcher->setTrkServerName(serialPortName); +#endif launcher->setFileName(QString("c:\\sys\\bin\\") + exeFile); launcher->setCommandLineArgs(cmdLine); |