rfcomm problems
Maksim Yevmenkin
maksim.yevmenkin at savvis.net
Thu Oct 27 20:19:17 PDT 2005
Niki,
>> please find attached patch. the patch will put stdin/stdout into
>> 'raw' mode when no tty was specified. it should fix the problem you
>> were having.
>>
>> keep in mind that there is no escape sequence, so you have to kill
>> rfcomm_sppd(1) by hand to terminate the session.
>>
>> could you please try to use rfcomm_sppd(1) in both stdin/stdout
>> mode and in 'set device ...' ppp(8) mode.
>
> I was also thinking about trying to put stdin/stdout in raw mode to
> see if it will work before i saw your email :) (because this was the
> only difference i found between using tty and stdin/stdout)
>
> With this patch i can issue properly commands to the gsm modem and
> get response with rfcomm_sppd in stdin/stdout mode. (it seems to not
> reset the terminal properly on exit, but i think you know that :) ) I
> have also properly connected to internet via gprs and with 'set
> device "!/usr/bin/rfcomm_sppd -a gsm -c1"' in ppp.conf
great! thanks for your help. btw, rfcomm_sppd(1) _should_ properly
restore terminal settings if it was killed with SIGTERM (-15). if you
kill it with SIGKILL (-9) then you will mess your terminal settings.
>> could you please post /etc/ppp/ppp.conf entry you where using with
>> rfcomm_pppd?
>
> default:
> set log Phase Chat LCP IPCP CCP tun command
> ident user-ppp VERSION (built COMPILATIONDATE)
> set speed 115200
> set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
> \"\" AT OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
> set timeout 0
> resolv readonly
> enable dns
>
> bt-gprs:
> set speed 115200
> set phone *99\#
> set ifaddr 0 0 255.255.255.255
> add default HISADDR
>
> bt-gprs2:
> set speed 115200
> set device "!/usr/bin/rfcomm_sppd -a gsm -c1"
> set phone *99\#
> set ifaddr 0 0 255.255.255.255
> add default HISADDR
>
> This is the whole ppp.conf
> I try to use the first label 'bt-gprs' for rfcomm_pppd.
i'm pretty sure 'bt-grps' label is incomplete. at the very least you
need 'enable force-scripts' otherwise ppp(8) will not execute chat script.
btw, there is a working example in rfcomm_pppd(8) man page
<quote>
rfcomm-dialup:
# This is IMPORTANT option
enable force-scripts
# You might want to change these
set authname
set authkey
set phone "*99***1#"
# You might want to adjust dial string as well
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
\"\" AT OK-AT-OK ATE1Q0 OK \\dATD\\T TIMEOUT 40 CONNECT"
set login
set timeout 30
enable dns
resolv rewrite
set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
add default HISADDR
</quote>
also some folks prefers to configure access point name, etc. in 'set
dial', but i assume you have configured it on the phone.
> (i think i can use only one label, because as far as i remember ppp(8)
> ignores 'set device' in -direct mode, but i made two just to be sure)
i'm not sure about this. also you have 'set speed' in every label.
having it only in 'default' should be enough.
> So maybe ppp in -direct mode is not setting properly the line in raw
> mode?
no, i'm pretty sure ppp(8) does the right thing. in fact 'set device
!rfcomm_sppd' worked even before my patch.
thanks,
max
More information about the freebsd-bluetooth
mailing list