11 April 2010

USB Monitor

  • Hardware
  • Software
    • Binaries (extract to /)
    • Building for OpenWRT
      • gcc 4.1.2 as 8.09 compiler (with libboost, gcc 3.4.6 and 7.09 I got defined in discarded section while linking, with gcc 4.2.4 and trunk can't resolve symbol '_Unwind_GetIPInfo' at runtime if an exception happens; the SVN trunk package gave some compile error, too.)
      • packages: libstdcpp_4.1.2 (brcm*), libusb, libfreetype
      • modules: 2.4: input.o, evdev.o, hid.o; 2.6: input-core.ko, evdev.ko, usbhid.ko (for brcm-2.4 a patch is necessary, but even then hid.o doesn't get built for me.)
      • libboost_program_options-gcc41-mt-1_34_1.so.1.34.1, libboost_thread-gcc41-mt-1_34_1.so.1.34.1 from the Boost C++ library package from BTG
      • ROTE-256
      • SlugTerm and my modifications (based on tubecable; 26C3: Reverse-Engineering DisplayLink devices)
      • font: I recommend FNTs (FON2FNT). BDFs. PCFs don't have line drawing characters and are slow; no cache yet. Scalable fonts are not layed out correctly yet.

Command line switch help

root@OpenWrt:~# slugterm --help Options:   --help                show help message   -k [ --keyboard ] arg keyboard event source   -p [ --pid ] arg      USB product ID [4]   -i [ --init ] arg     initialization sequence [58]   -f [ --fpath ] arg    font   -w [ --fwidth ] arg   font width for scalable fonts   -h [ --fheight ] arg  font height for scalable fonts   -c [ --commands ] arg command(s) to run in terminal 
You can grab the initialization sequence for yourself from the Windows driver with an USB sniffer and dldecrypt.c or use one of the dl_register_init_* in dldemo.c. Some modes I captured:
Samsung U70800×48000203c7ac9f26c48f97053ffff2127032091f3fffffff901e00102c819
Samsung 244T @ Lenovo 45K5296 (DL-195)1920×120000ca2115426c15f466c536ffff6c150780a335ffffffca04b004025078

Example

root@OpenWrt:~# slugterm -k /dev/input/event0 -p 0103 -i 00203c7ac9f26c48f97053ffff2127032091f3fffffff901e00102c819 -f /usr/local/share/fonts/FON2FNT/dosapp_18.FNT -c "/bin/ash --login"
4D Systems OLED version4-x64.

No comments: