Benutzer-Werkzeuge

Webseiten-Werkzeuge


hardware:hp2101nw_wlan_printserver

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
hardware:hp2101nw_wlan_printserver [2011/12/14 01:42] reinholdhardware:hp2101nw_wlan_printserver [2013/03/13 11:42] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 574: Zeile 574:
  
 ===== Network communication protocol (USB port forwarding over WLAN) ===== ===== Network communication protocol (USB port forwarding over WLAN) =====
 +
 +
 +There are three different types of communications:
 +  - Device information requests: UDP port 34444 (data format: "@\0[len][DEVNAME][OPTIONID]:[VALUE]\n")
 +  - Detection, configuration and locking: TCP & UDP port 34447 (data format: "SBSU[Cmd][args]")
 +  - USB over TCP: TCP port 34448 (data format: [type][18byte header], Response "RBRU[len]...")
 +
 +
  
   * TCP Ports 34447, 34448 and 34450 are open and used   * TCP Ports 34447, 34448 and 34450 are open and used
   * UDP Ports 34444 and 34447 are used for discovery broadcast and other device communication   * UDP Ports 34444 and 34447 are used for discovery broadcast and other device communication
  
-There are three different types of communications: 
-  - communication with the print server for configuration / printer detection and locking (UDP port 34444, "@\0[len][DEVNAME][OPTIONID]:\n") 
-  - communication with the printer trough the print server (UDP port 34447, "SBSU[Cmd][args]") 
-  - real USB over TCP communication with the printer (TCP port 34448, [type][18byte header], Response "RBRU[len]...") 
  
 === General communication packet structure for print server communication === === General communication packet structure for print server communication ===
Zeile 632: Zeile 636:
   00 00 00 00 01 00 00 00                          ........    00 00 00 00 01 00 00 00                          ........ 
       52 42 52 55 12 00 00 00  02 00 00 00 00 00 00 00 RBRU.... ........       52 42 52 55 12 00 00 00  02 00 00 00 00 00 00 00 RBRU.... ........
-      01 00 00 00 12 01 00 02  00 00 00 40 2b 13 89 20 ........ ...@+.. +      01 00 00 00 12 01 00 02  00 00 00 40 2b 13 89 20 ........ ...@ .. 
       00 01 01 02 03 01                                ......       00 01 01 02 03 01                                ......
  
Zeile 638: Zeile 642:
  
 ^ bytes ^ description ^ ^ bytes ^ description ^
-|  0  | command: 0x00=UNKNOWN (FIXME), 0x09=BULK FIXME, 0x0b=GET DESCRIPTOR, 0x1b=URB_CONTROL In | +|  0  | command: 0x00=GET interface information (FIXME), 0x09=BULK FIXME, 0x0b=GET DESCRIPTOR, 0x1b=URB_CONTROL In | 
-|  1- | FIXME: UNKNOWN | +|  1- | FIXME: UNKNOWN | 
-|  7  | For GET DESCRIPTOR: DESCRIPTOR type (0x01=DEVICE, 0x02=CONFIGURATION, 0x03=STRING) |+|  3  | For GET interface information: Interface to request info for (0x00, 0x01, 0x02) | 
 +|  6  | For GET DESCRIPTOR: DESCRIPTOR index, Otherwise: FIXME UNKNOWN | 
 +|  7  | For GET DESCRIPTOR: DESCRIPTOR type (0x01=DEVICE, 0x02=CONFIGURATION, 0x03=STRING), Otherwise: FIXME UNKNOWN |
 |  8-9  | FIXME: UNKNOWN, for URB_CONTROL In: wValue, for STRING DESCRIPTOR: languageId | |  8-9  | FIXME: UNKNOWN, for URB_CONTROL In: wValue, for STRING DESCRIPTOR: languageId |
 |  10-11  | FIXME: UNKNOWN, for URB_CONTROL In: wIndex | |  10-11  | FIXME: UNKNOWN, for URB_CONTROL In: wIndex |
Zeile 781: Zeile 787:
 | 86-101  | ''10.0.0.4''  | IP-address (as string) of the locking PC, 0x00 if not connected | | 86-101  | ''10.0.0.4''  | IP-address (as string) of the locking PC, 0x00 if not connected |
 | 102-111 |               | Hostname of the locking PC, 0x00 if not connected | | 102-111 |               | Hostname of the locking PC, 0x00 if not connected |
-| 112-168 |               FIXME: Unknown connection / locking data |+| 112-168 |               Locking data (as sent with the SBSU 0x07 locking command) |
 | 169-172 | serial  | 0x01; if printer is connected/locked, incremented with each status request (every 3 seconds) | | 169-172 | serial  | 0x01; if printer is connected/locked, incremented with each status request (every 3 seconds) |
 | 173-174 |     | USB Vendor ID (little endian) | | 173-174 |     | USB Vendor ID (little endian) |
 | 175-176 |     | USB Product ID (little endian) | | 175-176 |     | USB Product ID (little endian) |
-| 177-192     FIXME: Unknown (''00 01 02 03 00 ff ff ff  01 07 01 02 02 07 01 02'') |+^ USB device interface information: ^^^ 
 +| 177 | iConfiguration(?    | 
 +| 178 | bConfigurationValue(?)    |  
 +| 179 | bDescriptorType(?   
 +| 180 | bNumInterfaces  | Nr. of interfaces 
 +| 181-...   || interface info (4 bytes per interface) | 
 +|     | bInterfaceNumber   | Byte 0: ifNumber | 
 +|     | bInterfaceClass    | Byte 1: ifClass | 
 +|     | bInterfaceSubClass | Byte 2: ifSubclass | 
 +|     | bInterfaceProtocol | Byte 3: ifProto | 
  
 All other bytes are 0x00. Their meaning is not yet known. All other bytes are 0x00. Their meaning is not yet known.
Zeile 823: Zeile 839:
 | 0-3  | ''SBSU'' | magic header indicating a USBS communication packet over UDP | | 0-3  | ''SBSU'' | magic header indicating a USBS communication packet over UDP |
 | 4-5  | 0x0007 (little endian) | Response to 0x0007 request | | 4-5  | 0x0007 (little endian) | Response to 0x0007 request |
-38-42    ''13549''   FIXME: Unknown, some USB descriptor (?) +6-37 16 bytes | USB device description 
-173-174 |  0x132b  USB Vendor ID (little endian) | +38-42  16 bytes   | USB device serial number (as string) |
-| 175-176 |  0x2089  | USB Product ID (little endian) | +
-| 177-178 |  0x0100  | USB bcdDevice (little endian), TODO: Or iManufacturer or bNumConfigurations???+
-| 177-192 |     | FIXME: Unknown (''02 03 00 ff ff ff  01 07 01 02 02 07 01 02'') | +
- +
-All other bytes are 0x00. Their meaning is not yet known.+
  
  
hardware/hp2101nw_wlan_printserver.1323823332.txt.gz · Zuletzt geändert: 2013/03/13 11:42 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki