lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CAPCnQJn8bC6TX5-xL1+yNGmSPOnpPxydAYMhFyCxqwofD6Zx1Q@mail.gmail.com>
Date:   Sat, 21 Jul 2018 01:28:38 +0300
From:   Urja Rannikko <urjaman@...il.com>
To:     linux-kernel@...r.kernel.org
Subject: RFC on OTi-2108 USB Data Link cable driver implementation

Hi,

This device presents itself as an USB CD Drive, and extends that
"metaphor" (kinda) to how it transfers data (= ethernet frames in our
case) between hosts. That is one SCSI vendor command (0xD8) over
bulk-only mass-storage is used to poll whether data is available and
another one (0xD9) is used to transfer the data. Yes, this is not good
but the hardware is what it is.

The question is, if i were to implement a driver for this, which is
the better option:
1) Make a driver that (ab)uses the kernel SCSI and usb mass storage
drivers to do the transfers.
or
2) Make a driver that contains a minimal set of usb mass storage bulk
transfer code to do what is needed for this device.

If you answer 1, I'd like to know the appropriate API layer to hook
into, and how to probe for the device and such...

Second case is in many ways much simpler (though I'm not sure if i
need to detach the mass storage driver from the device in some way),
but duplicates some amount of code.

Please CC me in any replies to this thread.

Extra context information:
I bought this device for cheap expecting it to work as an usb network
cable in linux. It doesn't, but if i have the spare cycles i might
just make it happen. I found a driver online for windows 7 that makes
it present the cable as a "virtual" network card, and I was able to
capture usb traces from that already. The usb ID is 0ea0:2108, though
the windows driver also supports some other OTi host-to-host chips
(like the apparently newer 2208) so maybe one day a linux driver might
too...

-- 
Urja Rannikko

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ