| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #!/usr/bin/python
- #
- # Copyright (c) 2019 Clementine Computing LLC.
- #
- # This file is part of PopuFare.
- #
- # PopuFare is free software: you can redistribute it and/or modify
- # it under the terms of the GNU Affero General Public License as published by
- # the Free Software Foundation, either version 3 of the License, or
- # (at your option) any later version.
- #
- # PopuFare is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU Affero General Public License for more details.
- #
- # You should have received a copy of the GNU Affero General Public License
- # along with PopuFare. If not, see <https://www.gnu.org/licenses/>.
- #
- import serial
- import sys
- import re
- import time
- import os
- from os import listdir
- from os.path import isfile, join
- from os import system
- DEBUG = True
- VERBOSE = True
- ret = system("rm -f /dev/ttyPIU /dev/ttyGPRS /dev/ttyDIU /dev/ttyGPS")
- DEVDIR = "/dev"
- ###################
- ## setup GPRS modem from FONA
- ##
- system("ln -s /dev/ttyAMA0 /dev/ttyGPRS")
- ###################
- ttyfn = [f for f in listdir(DEVDIR) if re.match(r'^ttyUSB', f)]
- # sniff for GPRS and PIU
- #
- for devfn in ttyfn:
- if DEBUG: print devfn
- fqdevfn = join(DEVDIR,devfn)
- info = os.popen("udevadm info " + str(fqdevfn)).read()
- m = re.search(r'ID_MODEL=FT232R_USB_UART', info)
- if m:
- if VERBOSE:
- print "found rs232 device, assuming PIU"
- src_tty = join(DEVDIR,devfn)
- dst_tty = join(DEVDIR,"ttyPIU")
- system("ln -s " + src_tty + " " + dst_tty)
- continue
- m = re.search(r'SimTech_SIM5320', info)
- if m:
- if VERBOSE:
- print "found sim5320 device"
- m_ifacenum = re.search(r'ID_USB_INTERFACE_NUM=(.*)', info)
- if m_ifacenum:
- num = int(m_ifacenum.group(1))
- if num == 3:
- if VERBOSE:
- print "tying sim5320 interface num 3 to GPS"
- src_tty = join(DEVDIR,devfn)
- dst_tty = join(DEVDIR,"ttyGPS")
- system("ln -s " + src_tty + " " + dst_tty)
- continue
|