gnokii-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [6310i/bluetooth] no go ?


From: Florian Lohoff
Subject: Re: [6310i/bluetooth] no go ?
Date: Sun, 30 Mar 2003 23:56:56 +0200
User-agent: Mutt/1.3.28i

On Fri, Mar 28, 2003 at 06:16:26PM +0100, Pawel Kot wrote:
> At the moment you can use 6310(i) over Bluetooth only with AT model.
> There's needed some magic control sequence to enable FBUS mode. But
> unfortunately we don't know (yet) this sequence.
> 
> So try again with 'model = AT'.

Ok - after unpacking the nokia cell suite and searching for the relevant
file (MediaWrapper3S.dll) and looking into it it seems there is
dsr flipping needed:

----------schnipp------------
MediaWrapper: CBluetooth::CommEventThread() Starting...
MediaWrapper: CBluetooth::CommEventThread() DSR OFF->ON
MediaWrapper: CBluetooth::CommEventThread() DSR ON->OFF
MediaWrapper: CBluetooth::CommEventThread() Phonet Message in COMM buffer
MediaWrapper: CBluetooth::CommEventThread() EXIT!
MediaWrapper: CBluetooth::OnMsgIn() GetLastError returned %d
---------------schnapp-------

As most of the debugging messages seem to occur in the chronologic order
the events happen this seems the cell suite needs to deal with DSR.

Now i did this:
--- common/device.c     6 Mar 2003 21:23:56 -0000       1.30
+++ common/device.c     30 Mar 2003 19:15:36 -0000
@@ -128,11 +128,10 @@
        switch (state->device.type) {
        case GN_CT_Serial:
        case GN_CT_Infrared:
+       case GN_CT_Bluetooth:
                serial_setdtrrts(state->device.fd, dtr, rts, state);
                break;
        case GN_CT_Irda:
-               break;
-       case GN_CT_Bluetooth:
                break;
        case GN_CT_Tekram:
                break;


Which seemed to be the correct thing todo - Now strace shows that the
relevant ioctl calls return 

[...]
socket(0x1f /* PF_??? */, SOCK_STREAM, 3) = 5
bind(5, {sin_family=0x1f /* AF_??? */, {sa_family=31,
sa_data="address@hidden"}, 10) = 0
connect(5, {sin_family=0x1f /* AF_??? */, {sa_family=31,
sa_data="\305I\267\356\2\0\2\0\0\0\37\0\0\0"}, 10) = 0
write(2, "Serial device: setting RTS to lo"..., 49) = 49
ioctl(5, 0x5417, [TIOCM_DTR])           = -1 EINVAL (Invalid argument)
ioctl(5, 0x5417, [TIOCM_RTS])           = -1 EINVAL (Invalid argument)
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, {1, 0})               = 0
write(2, "Serial device: setting RTS to hi"..., 51) = 51
ioctl(5, 0x5416, [TIOCM_DTR])           = -1 EINVAL (Invalid argument)
ioctl(5, 0x5416, [TIOCM_RTS])           = -1 EINVAL (Invalid argument)
[...]

Now - looking at the kernel source the ioctl for a socket gets directed 
net/bluetooth/rfcomm/sock.c:rfcomm_sock_ioctl ->
net/bluetooth/rfcomm/dev.c:rfcomm_dev_ioctl

Which does not implement anything like the serial ioctls - So using a
socket and sending possble required dsr changes will not be possible.

Using a rfcomm tty implements the ioctls - but using configured
/dev/rfcomm's to different channels does not show any better result.

Next idea was to use "snoopy" for my internal usb<>bluetooth adapter
to capture all traffic (rfcomm in usb) but the problem is that
the Nokia Suite does not work on my Vaio under XP. ;(

Flo
-- 
Florian Lohoff                  address@hidden             +49-5201-669912
                        Heisenberg may have been here.

Attachment: pgpOHRhrALnyP.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]