Good sources of documentation: http://src.opensolaris.org/source/xref/sfw/usr/src/cmd/hpijs/hpijs-1.6/ldlencap.h HPIJS driver, especially ldl.py This is a PC log of a single pixel printed to the top left corner of the screen, restructured with comments: Send 0x900 bytes to the device: SYNC PACKET (2403 bytes): 0x24 0x0100 0x00 0x07 0x00 0x0000 0x0800 (245 zeroes) 0x24 (2048 zeroes) Send 0x10 bytes to the device: SYNC PACKET COMPLETE (16 bytes): 0x24 0x0010 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0x24 Send 0x10 bytes to the device: RESET LIDIL PACKET (16 bytes): 0x24 0x0010 0x00 0x06 0x00 0x00 0x00 0x00 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0x24 Send 0x10 bytes to the device: ENABLE PACING PACKET (16 bytes): 0x24 0x0010 0x00 0x02 0x00 0x00 0x00 0x00 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0x24 Get 0x0 bytes from device. Get 0x26 bytes from device: (I don't know yet): 0x24 0x0026 0x00 0x21 0x00 0x00 0x00 0x00 0x00 0x0D 0x00 0x01 0xFF 0xFE 0xFF 0xFE 0xFF 0xFB 0xFF 0x76 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x24 Get 0x0 bytes from device. Get 0x26 bytes from device: (I don't know yet): 0x24 0x0026 0x00 0x20 0x00 0x00 0x00 0x00 0x00 0x0D 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x0A 0x00 0x01 0x00 0x01 0x00 0x01 0x00 0x06 0x00 0x64 0x24 Send 0x10 bytes to the device: COMMAND QUERY PACKET (16 bytes): ENABLE ON CHANGE PACKET: 0x24 0x0010 0x00 0x00 0x05 0x0000 0x0000 0x00 0x02 (operation?) 0x0000 0xFF 0x24 Get 0x0 bytes from device. Get 0x87 bytes from device: (capabilities string with response packet): 0x24 0x00 0x10 0x00 0x18 0x00 0xFF 0xFD 0x00 0x77 0x01 0xFF 0xFF 0xFF 0xFF 0x24 0x4D 0x46 0x47 0x3A 0x48 0x50 0x3B 0x4D 0x44 0x4C 0x3A 0x44 0x65 0x73 0x6B 0x6A 0x65 0x74 0x20 0x33 0x39 0x30 0x30 0x3B 0x43 0x4D 0x44 0x3A 0x4C 0x44 0x4C 0x2C 0x44 0x59 0x4E 0x3B 0x43 0x4C 0x53 0x3A 0x50 0x52 0x49 0x4E 0x54 0x45 0x52 0x3B 0x44 0x45 0x53 0x3A 0x33 0x39 0x34 0x30 0x3B 0x53 0x4E 0x3A 0x43 0x4E 0x36 0x36 0x4A 0x31 0x4E 0x32 0x44 0x54 0x30 0x34 0x38 0x48 0x3B 0x53 0x3A 0x30 0x33 0x38 0x30 0x30 0x30 0x38 0x30 0x30 0x30 0x30 0x32 0x30 0x30 0x32 0x30 0x30 0x30 0x32 0x63 0x31 0x34 0x38 0x30 0x30 0x35 0x65 0x63 0x32 0x35 0x30 0x30 0x30 0x36 0x30 0x3B 0x5A 0x3A 0x30 0x30 0x37 0x3B Send 0x10 bytes to the device: ENABLE RESPONSES PACKET (16 bytes): 0x24 0x0010 0x00 0x05 0x00 0x0000 0x0000 0xFF 0xFF 0xFF 0xFF 0xFF 0x24 Get 0x0 bytes from device. Get 0x26 bytes from device: (I don't know yet): 0x24 0x0026 0x00 0x21 0x00 0x00 0x00 0x00 0x00 0x0D 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x24 Send 0x10 bytes to the device: COMMAND QUERY PACKET (16 bytes): 0x24 0x0010 0x00 0x00 0x05 0x0000 0x0000 0x00 0x00 (operation?) 0x0000 0xFF 0x24 Send 0x10 bytes to the device: DISABLE RESPONSES PACKET (16 bytes): 0x24 0x0010 0x00 0x04 0x00 0x00 0x00 0x00 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0x24 Get 0x0 bytes from device. Send 0x10 bytes to the device: ENABLE RESPONSES PACKET (16 bytes): 0x24 0x0010 0x00 0x05 0x00 0x00 0x00 0x00 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0x24 Get 0x0 bytes from device. Get 0x0 bytes from device. Get 0x0 bytes from device. Get 0x0 bytes from device. Get 0x26 bytes from device: (I don't know yet): 0x24 0x0026 0x00 0x21 0x00 0x00 0x00 0x00 0x00 0x0D 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x24 Send 0x10 bytes to the device: COMMAND QUERY PACKET (16 bytes): 0x24 0x0010 0x00 0x00 0x05 0x0000 0x0000 0x00 (operation?) 0x0000 0xFF 0x24 Send 0x10 bytes to the device: DISABLE RESPONSES PACKET (16 bytes): 0x24 0x0010 0x00 0x04 0x00 0x00 0x00 0x00 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0x24 Get 0x16 bytes from the device: (I don't know yet): 0x24 0x0010 0x00 0x10 0x05 0xFF 0xDE 0x00 0x05 0x01 0xFF 0xFF 0xFF 0xFF 0x24 0x02 0x00 0x00 0x01 0x00 Send 0x10 bytes to the device: (I don't know yet (eek!): 0x24 0x0010 0x00 0x00 0x0C 0x0000 0x0000 0x01 (operation?) 0x01 0xFF 0xFF 0xFF 0x24 Send 0x10 bytes to the device: (I don't know yet (eek!): 0x24 0x0010 0x00 0x00 0x0C 0x0000 0x0000 0x04 (operation?) 0x01 0xFF 0xFF 0xFF 0x24 ... (get capabilities string) ... Send 0x1000 bytes to the device: SYNC PACKET: 0x24 0x0100 0x00 0x07 0x00 0x0000 0x0800 (245 zeroes) 0x24 (2048 zeroes) SYNC PACKET COMPLETE: 0x24 0x0010 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0x24 SYNC PACKET: 0x24 0x0100 0x00 0x07 0x00 0x0000 0x0800 (245 zeroes) 0x24 (2048 zeroes) (carries over to next packet) Send 0x244 bytes to the device: (rest of zeroes) SYNC PACKET COMPLETE: 0x24 0x0010 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0x24 (no idea what this is (POSSIBLY START PRINT JOB)): 0x24 0x0010 0x00 0x00 0x00 0x00 0x04 0x00 0x00 0x00 0x60 0x9E 0xF3 0x7E 0x24 (no idea what this is): 0x24 0x0014 0x00 0x00 0x0C 0x00 0x05 0x00 0x00 0x09 0x00 0x8B 0x09 0xC6 0x00 0x01 0x17 0x86 0x24 Get 0x0 bytes from device. Get 0x26 bytes from the device: (I don't know yet): 0x24 0x0026 0x00 0x21 0x00 0x00 0x00 0x00 0x00 0x0D 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x24 Get 0x19 bytes from the device: 0x24 0x0010 0x00 0x10 0x05 0xFF 0xD3 0x00 0x09 0x01 0xFF 0xFF 0xFF 0xFF 0x24 0x02 0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x00 Get 0x0 bytes from the device. Get 0x0 bytes from the device. Get 0x0 bytes from the device. Get 0x26 bytes from the device: (I don't know yet): 0x24 0x0026 0x00 0x21 0x00 0x00 0x00 0x00 0x00 0x0D 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x02 0x24 Get 0x0 bytes from the device. Get 0xAD bytes from the device: (capabitilities string, somehow): 0x24 0x00 0x26 0x00 0x21 0x00 0x00 0x00 0x00 0x00 0x0D 0x00 0x00 0x00 0x02 0x00 0x02 0x00 0x05 0x00 0x8B 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x24 0x24 0x00 0x10 0x00 0x18 0x00 0xFF 0xFD 0x00 0x77 0x01 0xFF 0xFF 0xFF 0xFF 0x24 0x4D 0x46 0x47 0x3A 0x48 0x50 0x3B 0x4D 0x44 0x4C 0x3A 0x44 0x65 0x73 0x6B 0x6A 0x65 0x74 0x20 0x33 0x39 0x30 0x30 0x3B 0x43 0x4D 0x44 0x3A 0x4C 0x44 0x4C 0x2C 0x44 0x59 0x4E 0x3B 0x43 0x4C 0x53 0x3A 0x50 0x52 0x49 0x4E 0x54 0x45 0x52 0x3B 0x44 0x45 0x53 0x3A 0x33 0x39 0x34 0x30 0x3B 0x53 0x4E 0x3A 0x43 0x4E 0x36 0x36 0x4A 0x31 0x4E 0x32 0x44 0x54 0x30 0x34 0x38 0x48 0x3B 0x53 0x3A 0x30 0x33 0x38 0x30 0x30 0x30 0x38 0x30 0x30 0x30 0x30 0x32 0x30 0x30 0x32 0x30 0x30 0x32 0x32 0x63 0x31 0x34 0x38 0x30 0x30 0x35 0x65 0x63 0x32 0x35 0x30 0x30 0x30 0x36 0x30 0x3B 0x5A 0x3A 0x30 0x30 0x37 0x3B Send 0x1000 bytes to the device: (I don't know what this is): 0x24 0x0056 0x00 0x00 0x01 0x00 0x06 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x4F 0xB0 0x00 0x00 0x69 0x78 0x00 0x00 0x00 0x07 0x0C 0x19 0x00 0x00 0x00 0x0F 0x00 0x00 0x00 0x77 0x28 0x2D 0x41 0x4E 0x20 0x00 0x0F 0x00 0x0F 0x00 0x00 0x00 0x77 0x2D 0x32 0x46 0x27 0x10 0x00 0x3C 0x00 0x1E 0x00 0x00 0x00 0x77 0x2D 0x32 0x46 0x27 0x10 0x00 0x3C 0x00 0x1E 0x00 0x00 0x00 0x77 0x2D 0x32 0x46 0x1F 0x40 0x00 0x3C 0x00 0x1E 0x24 SYNC PACKET: 0x24 0x0100 0x00 0x07 0x00 0x0000 0x0800 (245 zeroes) 0x24 (2048 zeroes) SYNC COMPLETE PACKET: 0x24 0x0010 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0x24 SYNC PACKET: 0x24 0x0100 0x00 0x07 0x00 0x0000 0x0800 (245 zeroes) 0x24 (2048 zeroes) (carries over to next packet) Send 0x55C bytes to the device: (rest of zeroes) SYNC COMPLETE PACKET: 0x24 0x0010 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0x24 (I don't know what this is (POSSIBLY PRINT SWEEP PACKET)): 0x24 0x007C 0x00 0x00 0x03 0x00 0x0B 0x00 0x00 0x00 0x00 0x00 0x18 0xFF 0xFF 0xFD 0x88 0x00 0x00 0x02 0x58 0x00 0x01 0x00 0x00 0x00 0x3F 0x1E 0x0F 0x06 0x03 0x01 0x00 0x00 0x0E 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x01 0x2C 0x01 0x2C 0x02 0x58 0x02 0x58 0x00 0x4E 0x00 0x4F 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x01 0x2C 0x01 0x2C 0x02 0x58 0x02 0x58 0x00 0x4E 0x00 0x4F 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x01 0x2C 0x01 0x2C 0x02 0x58 0x02 0x58 0x00 0x4E 0x00 0x4F 0x00 0x24 (I don't know what this is (POSSIBLY PRINT SWEEP PACKET)): 0x24 0x0099 0x00 0x00 0x03 0x00 0x0C 0x00 0x00 0x00 0x00 0x00 0x28 0xFF 0xFF 0xFE 0x44 0x00 0x00 0x02 0x58 0x00 0x00 0x00 0x00 0x00 0x3F 0x1E 0x0F 0x06 0x03 0x01 0x00 0x00 0x0F 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x02 0x58 0x04 0xB0 0x02 0x58 0x02 0x58 0x00 0xDF 0x00 0xE6 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x01 0x2C 0x01 0x2C 0x02 0x58 0x02 0x58 0x00 0x37 0x00 0x38 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x01 0x2C 0x01 0x2C 0x02 0x58 0x02 0x58 0x00 0x37 0x00 0x38 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x01 0x2C 0x01 0x2C 0x02 0x58 0x02 0x58 0x00 0x37 0x00 0x38 0x00 0x24 (I don't know what this is (POSSIBLY LOAD SWEEP DATA PACKET)): 0x24 0x0010 0x00 0x00 0x04 0x00 0x0D 0x00 0x0E 0x00 0x18 0xFF 0xFF 0xFF 0x24 (NO CLUE what this is): 0x10 0x06 0x40 0x04 0xC0 0x00 0x40 0x00 0x00 0x00 0x20 0x00 0x80 0x00 (I don't know what this is (POSSIBLY PRINT SWEEP PACKET)): 0x24 0x007C 0x00 0x00 0x03 0x00 0x0E 0x00 0x00 0x00 0x00 0x00 0x18 0xFF 0xFF 0xFE 0x48 0x00 0x00 0x02 0x58 0x00 0x01 0x00 0x00 0x00 0x3F 0x1E 0x0F 0x06 0x03 0x01 0x00 0x00 0x0E 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x01 0x2C 0x01 0x2C 0x02 0x58 0x02 0x58 0x00 0x36 0x00 0x37 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x01 0x2C 0x01 0x2C 0x02 0x58 0x02 0x58 0x00 0x36 0x00 0x37 0x00 0x00 0x00 00x0 0x00 0x00 0x00 0x00 0x7C 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x01 0x2C 0x01 0x2C 0x02 0x58 0x02 0x58 0x00 0x36 0x00 0x37 0x00 0x24 (I don't know what this is (POSSIBLY LOAD SWEEP DATA PACKET)): 0x24 0x0010 0x00 0x00 0x04 0x00 0x0F 0x00 0x16 0x00 0x28 0xFF 0xFF 0xFF 0x24 (NO CLUE what this is): 0x40 0x08 0xC0 0x00 0x20 0x00 0xC0 0x00 0x20 0x00 0x00 0x00 0x00 0x00 0x80 0x00 0x20 0x00 0x40 0x00 0x10 0x0A (I don't know what this is (POSSIBLY PRINT SWEEP PACKET)): 0x24 0x0099 0x00 0x00 0x03 0x00 0x10 0x00 0x00 0x00 0x00 0x00 0x28 0xFF 0xFF 0xFE 0x4C 0x00 0x00 0x02 0x58 0x00 0x00 0x00 0x00 0x00 0x3F 0x1E 0x0F 0x06 0x03 0x01 0x00 0x00 0x0F 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x02 0x58 0x04 0xB0 0x02 0x58 0x02 0x58 0x00 0xDB 0x00 0xE2 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x01 0x2C 0x01 0x2C 0x02 0x58 0x02 0x58 0x00 0x36 0x00 0x37 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x01 0x2C 0x01 0x2C 0x02 0x58 0x02 0x58 0x00 0x36 0x00 0x37 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C 0x01 0x2C 0x01 0x2C 0x02 0x58 0x02 0x58 0x00 0x36 0x00 0x37 0x00 0x24 (I don't know what this is (POSSIBLY LOAD SWEEP DATA PACKET)): 0x24 0x0010 0x00 0x00 0x04 0x00 0x11 0x00 0x10 0x00 0x18 0xFF 0xFF 0xFF 0x24 (NO CLUE what this is): 0x10 0x05 0x40 0x05 0xA0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0x00 0x00 0x00 (I don't know what this is (POSSIBLY LOAD SWEEP DATA PACKET)): 0x24 0x0010 0x00 0x00 0x04 0x00 0x12 0x00 0x18 0x00 0x28 0xFF 0xFF 0xFF 0x24 (NO CLUE what this is): 0x40 0x09 0x20 0x00 0xC0 0x00 0x20 0x00 0xC0 0x00 0x00 0x00 0x00 0x00 0x20 0x00 0x80 0x00 0x00 0x00 0x20 0x00 0x10 0x09 (I don't know what this is (POSSIBLY EJECT PAGE PACKET)): 0x24 0x0010 0x00 0x00 0x02 0x00 0x13 0x00 0x00 0x00 0x00 0x00 0x01 0x0C 0x24 (I don't know what this is (POSSIBLY END PRINT JOB)): 0x24 0x0010 0x00 0x00 0x00 0x00 0x14 0x00 0x00 0x01 0x60 0x9E 0xF3 0x7E 0x24 (I don't know what this is (POSSIBLY COMMAND_SET_PENS_ALIGNED): 0x24 0x0010 0x00 0x00 0x0C 0x00 0x15 0x00 0x00 0x0E 0x00 0x0F 0xFF 0xFF 0x24 Send 0x10 bytes to the device: COMMAND QUERY PACKET (16 bytes): 0x24 0x0010 0x00 0x00 0x05 0x0000 0x0000 0x00 0x01 (operation?) 0x0000 0xFF 0x24 Send 0x10 bytes to the device: (I don't know yet (POSSIBLY END JOB)): 0x24 0x0010 0x00 0x00 0x0C 0xFF 0xF8 0x00 0x00 0x01 0x00 0xFF 0xFF 0xFF 0X24 Send 0x10 bytes to the device: (I don't know yet): 0x24 0x0010 0x00 0x00 0x0C 0xFF 0xF6 0x00 0x00 0x04 0x00 0xFF 0xFF 0xFF 0x24 Send 0x10 bytes to the device: DISABLE PACING PACKET (16 bytes): 0x24 0x0010 0x00 0x01 0x0D 0xFF 0xFA 0x00 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0x24 Send 0x10 bytes to the device: RESET LIDIL PACKET (16 bytes): 0x24 0x0010 0x00 0x06 0x0D 0xFF 0xEA 0x00 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0x24