Re: RS232 GSM Modem
- From: Dan Williams <dcbw redhat com>
- To: toabctl <toabctl googlemail com>
- Cc: networkmanager-list gnome org
- Subject: Re: RS232 GSM Modem
- Date: Thu, 13 May 2010 23:36:22 -0700
On Mon, 2010-05-03 at 10:58 +0200, toabctl wrote:
>
>
> 2010/5/2 Dan Williams <dcbw redhat com>
>
> On Fri, 2010-04-30 at 14:05 +0200, toabctl wrote:
> > 2010/4/29 Dan Williams <dcbw redhat com>
> > On Thu, 2010-04-29 at 09:53 +0200, toabctl wrote:
> > >
> > >
> > > 2010/4/28 Dan Williams <dcbw redhat com>
> > > On Wed, 2010-04-28 at 09:37 +0200, toabctl
> wrote:
> > > > 1) How does network-manager detect that
> the modem
> > is
> > > connected? Or how
> > > > can i tell networkmanager on which port
> the modem
> > is
> > > attached? I use a
> > > > rs232<->usb adapter so the port
> is /dev/ttyUSB0 .
> > >
> > >
> > > ModemManager uses udev for device
> detection. It
> > listens for
> > > udev events
> > > (which you can also listen for with
> udevmonitor) and
> > when it
> > > receives a
> > > notification of a new serial port, it will
> inspect
> > that port
> > > and attempt
> > > to probe it.
> > >
> > > How does ModemManager probe the port? I want to
> use modem
> > manager also
> > > with a rs232 device and there are no uevents
> because rs232
> > has no
> > > hotplug. but i could emit a uevent "by hand".
> >
> >
> > At the moment we don't probe platform devices for a
> few
> > reasons, one
> > that (a) the code isn't there, and (b) older devices
> like
> > those
> > connected to platform serial ports on normal PCs
> often get
> > upset
> > precisely because they are older and either aren't
> modems, or
> > aren't
> > standards compliant in any way.
> >
> > But check out this commit:
> >
> > commit 1864d8da0766e615c37a13f30bcacb72d381aa69
> > Author: Dan Williams <dcbw redhat com>
> > Date: Thu Apr 29 12:17:56 2010 -0700
> >
> > core: add platform device support and whitelist
> >
> > and see if that works for you. It uses a whitelist
> for
> > platform
> > drivers. Let me know!
> >
> > does not work for me. But i'm not sure hot to test it. i
> just use the
> > python script from test/mm-test.py and the result is: "no
> modems
> > found". But the device is available (checked with minicom)
> > and /lib/udev/rules.d/77-mm-platform-serial-whitelist.rules
> is
> > available.
> >
> > What to do next? Do you need more information?
>
>
> Yeah, what logs do you get from 'modem-manager --debug', and
> can you run
> the lsudev tool in tests/ like this for me when the device is
> connected?
>
> lsudev tty
>
> Thanks!
> Dan
>
> Hi Dan,
>
> see attachments for the 'lsudev tty' and 'modem-manager --debug' . The
> Modem is a Siemens TC63i connected to /dev/ttyS1 .
>
> A minicom session looks like this (Baudrate 115200; 8N1; Hardware Flow
> Control: No; Software Flow Control: No;)
When MM is probing the port, try
stty -F /dev/ttyS1 -a
and lets see what the port settings are. Does the modem require those
specific speed and flow control settings?
Dan
> ### BEGIN MINICOM ###
> at
> OK
> at&v
> ACTIVE PROFILE:
> E1 Q0 V1 X4 &C0 &D2 &S0 \Q0 \V1
> S0:000 S3:013 S4:010 S5:008 S6:000 S7:060 S8:000 S10:002 S18:000
> +CBST: 7,0,1
> +CRLP: 61,61,78,6
> +CR: 0
> +FCLASS: 0
> +ICF: 3
> +IFC: 0,0
> +ILRR:
> 0
> +IPR:
> 115200
> +CMEE:
> 0
> ^SCKS:
> 0,1
> ^SSET:
> 0
>
> OK
>
> ### END MINICOM ###
>
> Hope this helps,
>
> Cheers
>
> Tom
>
>
>
>
>
> > Cheers,
> >
> > Tom
> >
> >
> > Dan
> >
> >
> > > The information about the device ( /dev/ttyS1 ):
> > >
> > > # udevadm info --query=all -n /dev/ttyS1
> > > P: /devices/platform/atmel_usart.1/tty/ttyS1
> > > N: ttyS1
> > > S: char/4:65
> > > E: UDEV_LOG=3
> > > E:
> DEVPATH=/devices/platform/atmel_usart.1/tty/ttyS1
> > > E: MAJOR=4
> > > E: MINOR=65
> > > E: DEVNAME=/dev/ttyS1
> > > E: SUBSYSTEM=tty
> > > E: DEVLINKS=/dev/char/4:65
> > >
> > > # udevadm info --query=all -n /dev/ttyS1
> --attribute-walk
> > > ...
> > > looking at device
> > '/devices/platform/atmel_usart.1/tty/ttyS1':
> > > KERNEL=="ttyS1"
> > > SUBSYSTEM=="tty"
> > > DRIVER==""
> > >
> > > looking at parent device
> > '/devices/platform/atmel_usart.1':
> > > KERNELS=="atmel_usart.1"
> > > SUBSYSTEMS=="platform"
> > > DRIVERS=="atmel_usart"
> > > ATTRS{modalias}=="platform:atmel_usart"
> > >
> > > looking at parent device '/devices/platform':
> > > KERNELS=="platform"
> > > SUBSYSTEMS==""
> > > DRIVERS==""
> > >
> > >
> > > How can i use this port with ModemManager? The
> modem is
> > connected and
> > > AT-Commands works.
> > >
> > > There are a number of requirements of the
> port
> > though; it
> > > verifies that the kernel has assigned a
> driver name
> > to the
> > > port or one
> > > of the port's parents, and it attempts to
> grab the
> > port's
> > > physical
> > > device. Given that it's USB, it *should*
> work. But
> > if it
> > > doesn't, and
> > > you have a chance to grab the ModemManager
> source
> > [1], there's
> > > a tool
> > > called 'lsudev' in the test/ directory
> that can give
> > us an
> > > idea of the
> > > udev-provided information of the device.
> > >
> > > i guess 'lsudev' does the same as my 2 commands
> with
> > 'udevadm', right?
> > > or does 'lsudev' something more special?
> > >
> > >
> > > > 2) How does the connection-config looks
> like?
> > >
> > >
> > > ModemManager is just a tool to control the
> modem, it
> > doesn't
> > > store any
> > > configuration about it. The configuration
> is
> > provided by a
> > > program that
> > > tells ModemManager what to do. There are
> a few ways
> > to do
> > > that;
> > > NetworkManager provides a general modem
> control
> > solution, but
> > > you can
> > > also write your own app that uses D-Bus to
> tell
> > ModemManager
> > > what to do
> > > with the modem. See test/mm-test.py for a
> short
> > example of
> > > how to use
> > > python and D-Bus to make MM connect the
> modem and
> > get
> > > information out of
> > > it.
> > >
> > > ah. that's great. i need to control the modem over
> a
> > web-interface so
> > > no nm-applet available.
> > >
> > >
> > > Cheers,
> > >
> > > Tom
> > >
> >
> >
> >
> >
>
>
>
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]