Re: RS232 GSM Modem



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]