st-pti: tethering
Subject:
Re: [st-pti] tethering
From:
Grzes Plucinski ####@####.####
Date:
9 Jan 2016 09:32:35 +0000
Message-Id: <5690D3E7.4000901@grzes.com>
W dniu 2016-01-08 o 21:34, Marcin Cieslak pisze:
> Zwykle jest to standardowe urządzenie sieciowe przez USB
> (https://en.wikipedia.org/wiki/USB_communications_device_class) albo
> protokół RNDIS Microsoftu. M --- ST-PTI.
USB communications device class
From Wikipedia, the free encyclopedia
*USB communications device class* (or *USB CDC*) is a composite
Universal Serial Bus
<https://en.wikipedia.org/wiki/Universal_Serial_Bus> device class. The
class may include more than one interface, such as a custom control
interface, data interface, audio, or mass storage
<https://en.wikipedia.org/wiki/USB_mass_storage_device_class> related
interfaces.
The communications device class is used for computer networking
<https://en.wikipedia.org/wiki/Computer_network> devices akin to a
network card <https://en.wikipedia.org/wiki/Network_card>, providing an
interface for transmitting Ethernet
<https://en.wikipedia.org/wiki/Ethernet> or ATM
<https://en.wikipedia.org/wiki/Asynchronous_Transfer_Mode> frames onto
some physical media. It is also used for modems
<https://en.wikipedia.org/wiki/Modem>, ISDN
<https://en.wikipedia.org/wiki/ISDN>, fax
<https://en.wikipedia.org/wiki/Fax> machines, and telephony
<https://en.wikipedia.org/wiki/Telephony> applications for performing
regular voice calls.
Microsoft Windows <https://en.wikipedia.org/wiki/Microsoft_Windows>
versions prior to Windows Vista
<https://en.wikipedia.org/wiki/Windows_Vista> do not work with the
networking parts of the USB CDC, instead using Microsoft's own
derivative named Microsoft RNDIS <https://en.wikipedia.org/wiki/RNDIS>,
a serialized version of the Microsoft NDIS
<https://en.wikipedia.org/wiki/Network_Driver_Interface_Specification>
(Network Driver Interface Specification). With a vendor-supplied INF
file <https://en.wikipedia.org/wiki/INF_file>, Windows Vista works with
USB CDC and USB WMCDC devices.^[1]
<https://en.wikipedia.org/wiki/USB_communications_device_class#cite_note-1>
This class can be used for industrial equipment such as CNC machinery to
allow upgrading from older RS-232 <https://en.wikipedia.org/wiki/RS-232>
serial controllers and robotics, since they can keep software
compatibility. The device attaches to an RS-232 communications line and
_the operating system on the USB side makes the USB device appear as a
traditional RS-232 port_. Chip manufacturers such as Prolific
Technology, FTDI <https://en.wikipedia.org/wiki/FTDI>, Microchip
<https://en.wikipedia.org/wiki/Microchip_Technology>, and Atmel
<https://en.wikipedia.org/wiki/Atmel> provide facilities for easily
developing USB RS-232 devices.
Devices of this class are also implemented in embedded systems
<https://en.wikipedia.org/wiki/Embedded_system> such as mobile phones
<https://en.wikipedia.org/wiki/Mobile_phone> so that a _phone may be
used as a modem, fax_ or network port. The data interfaces are generally
used to perform bulk data transfer.
--> -->
<type 'exceptions.IOError'> | Python 2.5.2: /usr/bin/python Sun May 12 19:23:54 2024 |
A problem occurred in a Python script. Here is the sequence of
function calls leading up to the error, in the order they occurred.
/opt/ezmlm-browse-0.20/main.py in main() |
424
|
425 if path is not None:
|
426 main_path(path)
|
427 else:
|
428 main_form()
|
global main_form = <function main_form at 0x97acc6c> |
/opt/ezmlm-browse-0.20/main.py in main_form() |
378 except ImportError:
|
379 die(ctxt, "Invalid command")
|
380 module.do(ctxt)
|
381
|
382 def main():
|
module = <module 'commands.showmsg' from '/opt/ezmlm-browse-0.20/commands/showmsg.pyc'>, module.do = <function do at 0x980c144>, global ctxt = {'cmd': 'showmsg', 'threadidx': 8, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'} |
/opt/ezmlm-browse-0.20/commands/showmsg.py in do(ctxt={'cmd': 'showmsg', 'threadidx': 8, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}) |
18 write(html('msg-pager') % ctxt)
|
19 write('<hr>')
|
20 sub_showmsg(ctxt, ctxt[MSGNUM])
|
21 write('<hr>')
|
22 write(html('msg-pager') % ctxt)
|
global sub_showmsg = <function sub_showmsg at 0x97ac1ec>, ctxt = {'cmd': 'showmsg', 'threadidx': 8, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, global MSGNUM = 'msgnum' |
/opt/ezmlm-browse-0.20/globalfns.py in sub_showmsg(ctxt={'cmd': 'showmsg', 'threadidx': 8, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msgnum=690) |
229 format_timestamp(ctxt, ctxt)
|
230 write(html('msg-header') % ctxt)
|
231 rec_showpart(ctxt, msg, 0)
|
232 write(html('msg-footer') % ctxt)
|
233 ctxt.pop()
|
global rec_showpart = <function rec_showpart at 0x97ac1b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 8, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msg = <email.message.Message instance at 0x980df4c> |
/opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 8, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x980df4c>, partnum=4) |
205 else:
|
206 for p in part.get_payload():
|
207 partnum = rec_showpart(ctxt, p, partnum+1)
|
208 else:
|
209 write(html('msg-sep') % ctxt)
|
partnum = 4, global rec_showpart = <function rec_showpart at 0x97ac1b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 8, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, p = <email.message.Message instance at 0x980b2ac> |
/opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 8, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x980b2ac>, partnum=5) |
208 else:
|
209 write(html('msg-sep') % ctxt)
|
210 sub_showpart(ctxt, part)
|
211 return partnum
|
212
|
global sub_showpart = <function sub_showpart at 0x97ac144>, ctxt = {'cmd': 'showmsg', 'threadidx': 8, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part = <email.message.Message instance at 0x980b2ac> |
/opt/ezmlm-browse-0.20/globalfns.py in sub_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 8, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x980b2ac>) |
164 type = ctxt[TYPE] = part.get_content_type()
|
165 ctxt[FILENAME] = part.get_filename()
|
166 template = html('msg-' + type.replace('/', '-'))
|
167 if not template:
|
168 template = html('msg-' + type[:type.find('/')])
|
global template = <function template at 0x97a4e9c>, global html = <function html at 0x97a4ed4>, type = 'application/pgp-signature', type.replace = <built-in method replace of str object at 0x980c9f8> |
/opt/ezmlm-browse-0.20/globalfns.py in html(name='msg-application-pgp-signature') |
40
|
41 def html(name):
|
42 return template(name + '.html')
|
43
|
44 def xml(name):
|
global template = <function template at 0x97a4e9c>, name = 'msg-application-pgp-signature' |
/opt/ezmlm-browse-0.20/globalfns.py in template(filename='msg-application-pgp-signature.html') |
31 except IOError:
|
32 if not _template_zipfile:
|
33 _template_zipfile = zipfile.ZipFile(sys.argv[0])
|
34 try:
|
35 f = _template_zipfile.open(n).read()
|
global _template_zipfile = None, global zipfile = <module 'zipfile' from '/usr/lib/python2.5/zipfile.pyc'>, zipfile.ZipFile = <class zipfile.ZipFile at 0x973da7c>, global sys = <module 'sys' (built-in)>, sys.argv = ['-c', '/opt/ezmlm-browse-0.20'] |
/usr/lib/python2.5/zipfile.py in __init__(self=<zipfile.ZipFile instance at 0x9803b8c>, file='-c', mode='r', compression=0, allowZip64=False) |
337 self.filename = file
|
338 modeDict = {'r' : 'rb', 'w': 'wb', 'a' : 'r+b'}
|
339 self.fp = open(file, modeDict[mode])
|
340 else:
|
341 self._filePassed = 1
|
self = <zipfile.ZipFile instance at 0x9803b8c>, self.fp = None, builtin open = <built-in function open>, file = '-c', modeDict = {'a': 'r+b', 'r': 'rb', 'w': 'wb'}, mode = 'r' |
<type 'exceptions.IOError'>: [Errno 2] No such file or directory: '-c'
args =
(2, 'No such file or directory')
errno =
2
filename =
'-c'
message =
''
strerror =
'No such file or directory'