[Gta04-owner] Qtmoko 3g access

NeilBrown neilb at suse.de
Thu Jul 19 12:57:24 CEST 2012


On Thu, 19 Jul 2012 02:56:24 -0700 (PDT) Kevin Hremeviuc
<khremeviuc at yahoo.com> wrote:

> Hi all,
> 
> I have been playing with 3g access in qtmoko.
> 
> I have created some scripts to get it going but have run into a major problem, for which, I have put in a nasty workaround. Basically when I play on /dev/ttyHS3 in script land qtmoko locks up. I can ssh to my gta04 and restart qtmoko, after which, all is well. Is there any reason for this (not hanging up /dev/ttyHS3 or holding /dev/ttyHS3 open)?

1/ I strongly recommend you install

https://github.com/neilbrown/linux/blob/gta04/3.4.y/GTA04/udev-rules/hso.rules

in /etc/udev/rules.d

So that you get names like /dev/ttyHS_Application etc which are stable.
Sometimes the "ttyHSn" names move around.

2/ I use /dev/ttyHS_Application for the main control of the GSM module,
 /dev/ttyHS_Modem to make sure I get "NO CARRIER" messages,
 and /dev/ttyHS_Control for other things like setting up networking.

If yo use ttyHS_Control that should leave qtmoko unaffected.

NeilBrown


> 
> Basically I am using ser2net and accessing /dev/ttyHS3 via an expect script that spawns a telnet process. The expect script looks like this:
> 
> #!/usr/bin/expect
> 
> spawn telnet localhost 3002
> 
> sleep 3
> send "AT_OWANCALL=1,1,1\r"
> expect "OK"
> send "AT_OWANDATA?\r"
> expect "OK"
> send "\r"
> exit
> 
> The expect script is called from this script:
> 
> #!/bin/bash
> 
> # run expect script
> ./expect_3g_on.sh > /tmp/3g_on.txt 2>&1
> 
> #get ip addresses
> ipaddress=`grep "^_OWANDATA" /tmp/3g_on.txt | awk -F, '{print $2;}'`
> echo ipaddress $ipaddress
> nameserver1=`grep "^_OWANDATA" /tmp/3g_on.txt | awk -F, '{print $4;}'`
> echo nameserver1 $nameserver1
> nameserver2=`grep "^_OWANDATA" /tmp/3g_on.txt | awk -F, '{print $5;}'`
> echo nameserver2 $nameserver2
> 
> # configure network
> ifconfig hso0 $ipaddress up
> route add default dev hso0
> 
> echo nameserver $nameserver1 > /etc/resolv.conf
> echo nameserver $nameserver2 >> /etc/resolv.conf
> 
> /etc/init.d/qtmoko-gta04 restart
> 
> I have also been playing with QSerialPort and have written a little GUI application (in the 3rd party application area) based on an address book tutorial but have had trouble including the serial port headers and then linking (unresolved symbols). I get the following built output:
> 
> kevin at byzantium:~/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/src/3rdparty/applications/KevMokoAppTest$ make
> make: running qbuild default
> Project /src/3rdparty/applications/KevMokoAppTest/ is normally disabled. (Disabling project because it is not listed in PROJECTS)
> arm-linux-g++ /home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/src/3rdparty/applications/KevMokoAppTest/KevMokoAppTest
> arm-linux-g++ -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/sdk/lib -Wl,-rpath-link,/opt/qtmoko/lib -pipe -DQT_QWS_FICGTA01 -fno-exceptions -fno-rtti -o /home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/src/3rdparty/applications/KevMokoAppTest/KevMokoAppTest /home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/src/3rdparty/applications/KevMokoAppTest/.obj/main.o /home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/src/3rdparty/applications/KevMokoAppTest/.obj/addressbook.o /home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/src/3rdparty/applications/KevMokoAppTest/.obj/moc_addressbook.o -lqtopiagfx -lmd5 -lqtopia-sqlite -lqtopia -lqtopiabase -lpthread -lm -lrt -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/sdk/qtopiacore/target/lib -lQtSvg -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/sdk/qtopiacore/target/lib -lQtSql
>  -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/sdk/qtopiacore/target/lib -lQtXml -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/sdk/qtopiacore/target/lib -lQtGui -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/sdk/qtopiacore/target/lib -lQtNetwork -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/sdk/qtopiacore/target/lib -lQtCore -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/qtopiacore/target/lib -L/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/lib -lts -lz -ldl -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/sdk/lib
> /home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/src/3rdparty/applications/KevMokoAppTest/.obj/addressbook.o: In function `AddressBook::on_start3GButton_clicked()':
> addressbook.cpp:(.text+0x858): undefined reference to `QSerialPort::QSerialPort(QString const&, int, bool)'
> addressbook.cpp:(.text+0xbb4): undefined reference to `QSerialPort::flush()'
> addressbook.cpp:(.text+0xd4c): undefined reference to `QSerialPort::flush()'
> collect2: ld returned 1 exit status
> *** Error 
> /src/3rdparty/applications/KevMokoAppTest/default: Prerequisite failed
> /src/3rdparty/applications/KevMokoAppTest/target: Prerequisite failed
> /src/3rdparty/applications/KevMokoAppTest/target_post: Prerequisite failed
> /src/3rdparty/applications/KevMokoAppTest/cpp_compiler_target: Command execution failed
> $$COMPILER.LINK $${COMPILER.LFLAGS} -o $$[OUTPUT.0] $$[INPUT] $${COMPILER.LIBS}
> arm-linux-g++ -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/sdk/lib -Wl,-rpath-link,/opt/qtmoko/lib -pipe -DQT_QWS_FICGTA01 -fno-exceptions -fno-rtti -o /home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/src/3rdparty/applications/KevMokoAppTest/KevMokoAppTest /home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/src/3rdparty/applications/KevMokoAppTest/.obj/main.o /home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/src/3rdparty/applications/KevMokoAppTest/.obj/addressbook.o /home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/src/3rdparty/applications/KevMokoAppTest/.obj/moc_addressbook.o -lqtopiagfx -lmd5 -lqtopia-sqlite -lqtopia -lqtopiabase -lpthread -lm -lrt -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/sdk/qtopiacore/target/lib -lQtSvg -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/sdk/qtopiacore/target/lib -lQtSql
>  -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/sdk/qtopiacore/target/lib -lQtXml -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/sdk/qtopiacore/target/lib -lQtGui -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/sdk/qtopiacore/target/lib -lQtNetwork -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/sdk/qtopiacore/target/lib -lQtCore -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/qtopiacore/target/lib -L/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/lib -lts -lz -ldl -L/home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/sdk/lib
> /home/kevin/Desktop/GTA04/qtmoko/qtmoko_build/qtmoko_git/build/src/3rdparty/applications/KevMokoAppTest/.obj/addressbook.o: In function `AddressBook::on_start3GButton_clicked()':
> addressbook.cpp:(.text+0x858): undefined reference to `QSerialPort::QSerialPort(QString const&, int, bool)'
> addressbook.cpp:(.text+0xbb4): undefined reference to `QSerialPort::flush()'
> addressbook.cpp:(.text+0xd4c): undefined reference to `QSerialPort::flush()'
> collect2: ld returned 1 exit status
> 
> make: *** [all] Error 1
> 
> 
> 
> Anybody got any hints or tips for me?
> 
> Thanks
> 
> Kev
> 
> P.S. I am just a lowly old Java programmer so forgive me my sins (and lack of knowledge in the C++ world where I only have enough knowledge to be dangerous).
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 828 bytes
Desc: not available
URL: <http://lists.goldelico.com/pipermail/gta04-owner/attachments/20120719/96fee8cf/attachment-0001.bin>


More information about the Gta04-owner mailing list