/dev/ttyUSB0

Grzegorz Sójka pld w sojka.co
Wto, 30 Wrz 2014, 13:00:46 CEST


On 09/30/14 12:42, Light-I wrote:
> W odpowiedzi na wiadomość z dnia 30.09.2014 09:12, od lord_Niedzwiedz:
>>
>>>> [Duże ciach]
> 1. Ja się spotykam z plikami urządzeń dla modemów na usb /dev/ttyACM*
> 2. wvdial to projekt praktycznie porzucony, ja dałem sobie siana i używam
> własnej nakładki na pppd (python), z której najważniejsze cytaty to:
>
> #-----------------------------------------
>
> 	def run_dial(self):
> 		from shlex import split as shs
> 		import subprocess
> 		if type(self.proc_wvdial) is subprocess.Popen:
> 			self.insertBuff("wvdial goes already...\n")
> 			return
> 		ppp_chat = "chat -V"
> 		ppp_chat += " ABORT NO\\ CARRIER"
> 		ppp_chat += " ABORT NO\\ ANSWER"
> 		ppp_chat += " ABORT NO\\ DIALTONE"
> 		ppp_chat += " ABORT ERROR"
> 		ppp_chat += " ABORT BUSY"
> 		ppp_chat += " \"\" ATZ"
> 		ppp_chat += " OK ATQ0\\ V1\\ E1\\ S0=0\\ \\&C1\\ \\&D2"
> 		ppp_chat += " OK AT+CGDCONT=1,\\\"IP\\\",\\\"darmowy\\\""
> 		ppp_chat += " OK ATD*99#"
> 		ppp_chat += " CONNECT\\ 21096000 \"\\d\\c\""
> 		cmd = "sudo pppd /dev/ttyACM0 921600 connect '%s'" % ppp_chat
> 		cmd += " crtscts call aero2"
> 		scmd = shs(cmd)
> 		if self.proc_wvdial == None or self.proc_wvdial.poll() != None: # poll()=None
> means still running
> 			newenv = env.copy()
> 			newenv.update({
> 				'HOME':  '/root',
> 				'USER':  'root',
> 				'LOGNAME':  'root',
> 				})
> 			self.proc_wvdial = subprocess.Popen(scmd, env=newenv,
> 				stdin=subprocess.PIPE,
> 				stdout=self.pty_child_fd,
> 				stderr=subprocess.STDOUT)
>
> 	def stopAero2(self, widget):
> 		if type(self.proc_wvdial) == subprocess.Popen:
> 			self.insertBuff("Trying to set sudo process down...\n")
> 			self.run('killall pppd')
> #-----------------------------------------
>
Obawiam się, że to trochę nie na temat. Problem który wywołał wątek 
polega na wadliwym działaniu udev (i być może kernel). Przez to zamiast 
modemu masz usb-storage. Tego problemu nie przeskoczy się zmieniając 
sposób nawiązywania połączenia.

Co do Twojej koncepcji to pppd sam daje sobie świetnie radę z Aero2 i 
nie ma potrzeby używania dodatkowego softu. Poniżej masz odpowiednią 
komendę:

pppd /dev/gsmmodem noauth crtscts lock defaultroute usepeerdns \
	lcp-echo-failure 4 lcp-echo-interval 65535 persist holdoff 1 maxfail 3 
unit 15 connect \
	"/usr/sbin/chat -v TIMEOUT 60 ABORT ERROR '' ATZ OK 
'AT+CGDCONT=1,\"IP\",\"darmowy\"' ABORT 'NO CARRIER' OK 'ATDT*99#' 
CONNECT" >> /var/log/Aero2 2>&1

Co więcej ja mam to podpięte pod (aktualnie nie działający) udev. Więc 
(jak jeszcze działało) to połączenie nawiązywane było automatycznie po 
włożeniu modemu.

-- 
Pozdrawiam
Grzesiek

Wysłane z kompa wolnego od wirusów Billa Gatesa.


Więcej informacji o liście pld-users-pl