mltprot_write_loop(): locking queue_mutex mltprot_write_loop(): got queue_mutex mltprot_write_loop(): no unsent data in queue, waiting mltprot_read_loop(): locking queue_mutex mltprot_read_loop(): got queue_mutex mltprot_read_loop(): no data expected, waiting Submitting MLTREC_OPEN mltprot_submit_command(): command=0x1001 mltprot_submit_command(): locking queue_mutex mltprot_submit_command(): got queue_mutex mltprot_submit_command(): got serial=0x00000001 mltprot_enqueue(): command=0x1001, serial=0x00000001 Submitting MLTREC_CLOSE_SLEEP mltprot_submit_command(): command=0x1002 mltprot_write_loop(): got unsent data mltprot_write_loop(): going to write command=0x1001, serial=0x00000001 TX expecting=12 sent=12 (0x0000000c) -> 00000000: 0c 00 00 00 01 10 00 00 01 00 00 00 '............' mltprot_write_loop(): done mltprot_write_loop(): locking queue_mutex mltprot_write_loop(): got queue_mutex mltprot_write_loop(): no unsent data in queue, waiting mltprot_read_loop(): data expected, wake-up mltprot_read_loop(): going to read mltprot_read(): will bulk_read up to 16 bytes RX expecting=16 got=16 (0x00000010) -> 00000000: 36 00 00 00 01 10 00 00 01 00 00 00 00 00 01 00 '6...............' mltprot_read(): declared length to read 54 bytes mltprot_read(): will bulk_read continuation block RX expecting=38 got=38 (0x00000026) -> 00000000: 11 00 00 00 4d 00 49 00 4e 00 4f 00 4c 00 54 00 '....M.I.N.O.L.T.' 00000010: 41 00 20 00 44 00 69 00 4d 00 41 00 47 00 45 00 'A. .D.i.M.A.G.E.' 00000020: 20 00 41 00 31 00 ' .A.1.' mltprot_read_loop(): reply for command=0x1001, serial=0x00000001 mltprot_read_loop(): locking queue_mutex mltprot_read_loop(): got queue_mutex mltprot_dequeue(): serial=0x00000001 mltprot_dequeue(): in reply queue command=0x1001, serial=0x00000001 mltprot_dequeue(): found and dequeued MLTREC_OPEN reply: status=0, 1 MLTREC_OPEN reply: camera_id="MINOLTA DiMAGE A1" mltprot_read_loop(): locking queue_mutex mltprot_read_loop(): got queue_mutex mltprot_read_loop(): no data expected, waiting mltprot_submit_command(): locking queue_mutex mltprot_submit_command(): got queue_mutex mltprot_submit_command(): got serial=0x00000002 mltprot_enqueue(): command=0x1002, serial=0x00000002 mltrec_device_close(): waiting for write_thread mltprot_write_loop(): got unsent data mltprot_write_loop(): going to write command=0x1002, serial=0x00000002 TX expecting=16 sent=16 (0x00000010) -> 00000000: 10 00 00 00 02 10 00 00 02 00 00 00 00 00 00 00 '................' mltprot_write_loop(): done mltprot_write_loop(): thread finished mltprot_read_loop(): data expected, wake-up mltprot_read_loop(): going to read mltprot_read(): will bulk_read up to 16 bytes RX expecting=16 mltrec_device_close(): waiting for read_thread got=16 (0x00000010) -> 00000000: 10 00 00 00 03 20 00 00 01 00 00 a0 05 00 00 00 '..... ..........' mltprot_read(): declared length to read 16 bytes mltprot_read_loop(): reply for command=0x2003, serial=0xa0000001 mltprot_read_loop(): MLTREC_PC_READY: status=5, 0 TX expecting=14 sent=14 (0x0000000e) -> 00000000: 0e 00 00 00 03 20 00 00 01 00 00 a0 00 00 '..... ........' mltprot_read_loop(): locking queue_mutex mltprot_read_loop(): got queue_mutex mltprot_read_loop(): going to read mltprot_read(): will bulk_read up to 16 bytes RX expecting=16 got=14 (0x0000000e) -> 00000000: 0e 00 00 00 02 10 00 00 02 00 00 00 00 00 '..............' mltprot_read(): declared length to read 14 bytes mltprot_read_loop(): reply for command=0x1002, serial=0x00000002 mltprot_read_loop(): locking queue_mutex mltprot_read_loop(): got queue_mutex mltprot_dequeue(): serial=0x00000002 mltprot_dequeue(): in reply queue command=0x1002, serial=0x00000002 mltprot_dequeue(): found and dequeued mltprot_default_complete(): completed command=0x1002, serial=0x00000002, status=0 mltprot_read_loop(): locking queue_mutex mltprot_read_loop(): got queue_mutex mltprot_read_loop(): thread finished mltrec_device_close(): threads finished, closing device mltrec_device_close(): finished