Further progress,

- I implement code that register libusb_get_pollfds to my event loop. 
- I send 6 bytes with libusb_fill_bulk_transfer/libusb_submit_transfer
- I then get notify that libusb fd change
- I call libusb_handle_events
- But my callback is not called. The one that was registered to 
libusb_fill_bulk_transfer?
-If I try to call the  libusb_handle_events twice I get my callback called?

What am I doing wrong?

See output:


libusb:debug [libusb_init] 
libusb:debug [find_usbfs_path] found usbfs at /dev/bus/usb
libusb:debug [op_init] bulk continuation flag supported
libusb:debug [op_init] found usb devices in sysfs
libusb:debug [usbi_add_pollfd] add fd 6 events 1
libusb:debug [usbi_io_init] using timerfd for timeouts
libusb:debug [usbi_add_pollfd] add fd 8 events 1
libusb:debug [libusb_init] created default context
libusb:debug [libusb_get_device_list] 
libusb:debug [sysfs_scan_device] scan usb1
libusb:debug [sysfs_scan_device] bus=1 dev=1
libusb:debug [enumerate_device] busnum 1 devaddr 1 session_id 257
libusb:debug [enumerate_device] allocating new device for 1/1 (session 257)
libusb:debug [sysfs_scan_device] scan usb2
libusb:debug [sysfs_scan_device] bus=2 dev=1
libusb:debug [enumerate_device] busnum 2 devaddr 1 session_id 513
libusb:debug [enumerate_device] allocating new device for 2/1 (session 513)
libusb:debug [sysfs_scan_device] scan 1-1
libusb:debug [sysfs_scan_device] bus=1 dev=2
libusb:debug [enumerate_device] busnum 1 devaddr 2 session_id 258
libusb:debug [enumerate_device] allocating new device for 1/2 (session 258)
libusb:debug [sysfs_scan_device] scan 2-1
libusb:debug [sysfs_scan_device] bus=2 dev=2
libusb:debug [enumerate_device] busnum 2 devaddr 2 session_id 514
libusb:debug [enumerate_device] allocating new device for 2/2 (session 514)
libusb:debug [sysfs_scan_device] scan 2-2
libusb:debug [sysfs_scan_device] bus=2 dev=3
libusb:debug [enumerate_device] busnum 2 devaddr 3 session_id 515
libusb:debug [enumerate_device] allocating new device for 2/3 (session 515)
libusb:debug [sysfs_scan_device] scan 2-2.1
libusb:debug [sysfs_scan_device] bus=2 dev=4
libusb:debug [enumerate_device] busnum 2 devaddr 4 session_id 516
libusb:debug [enumerate_device] allocating new device for 2/4 (session 516)
libusb:debug [libusb_get_device_descriptor] 
libusb:debug [libusb_get_device_descriptor] 
libusb:debug [libusb_get_device_descriptor] 
libusb:debug [libusb_open] open 1.2
libusb:debug [op_open] opening /dev/bus/usb/001/002
libusb:debug [usbi_add_pollfd] add fd 9 events 4
libusb:debug [libusb_claim_interface] interface 1
libusb:debug [libusb_set_interface_alt_setting] interface 1 altsetting 0
libusb:debug [libusb_submit_transfer] arm timerfd for timeout in 2000ms (first 
in line)
libusb:debug [libusb_handle_events_timeout_completed] doing our own event 
handling
libusb:debug [handle_events] poll() 3 fds with timeout in 60000ms
libusb:debug [handle_events] poll() returned 1
libusb:debug [reap_for_handle] urb type=2 status=0 transferred=1
libusb:debug [handle_control_completion] handling completion status 0
libusb:debug [disarm_timerfd] 
libusb:debug [ctrl_transfer_cb] actual_length=1
libusb:debug [libusb_submit_transfer] arm timerfd for timeout in 2000ms (first 
in line)
libusb:debug [libusb_handle_events_timeout_completed] doing our own event 
handling
libusb:debug [handle_events] poll() 3 fds with timeout in 60000ms
libusb:debug [handle_events] poll() returned 1
libusb:debug [reap_for_handle] urb type=2 status=0 transferred=0
libusb:debug [handle_control_completion] handling completion status 0
libusb:debug [disarm_timerfd] 
libusb:debug [ctrl_transfer_cb] actual_length=0
libusb:debug [libusb_clear_halt] endpoint 6
libusb:debug [libusb_clear_halt] endpoint 88
--> MyEventLoop Register FD: 6
--> MyEventLoop Register FD: 8
--> MyEventLoop Register FD: 9
--> MyEventLoop catch event on fd:3
--> MyEventLoop catch event on fd:12
--> MyApplicationSendData: 6                                                    
                                                                <-- SEND DATA
libusb:debug [submit_bulk_transfer] need 1 urbs for new transfer with length 6
libusb:debug [libusb_submit_transfer] arm timerfd for timeout in 2000ms (first 
in line)
--> MyEventLoop catch event on fd:12
--> MyEventLoop catch event on fd:8                                             
                                                        <-- GET NOTIFY
-> MyEventLoop call libusb_handle_events once                                   
                                        <-- CALL LIBUSB ONCE
libusb:debug [libusb_handle_events_timeout_completed] doing our own event 
handling
libusb:debug [handle_events] poll() 3 fds with timeout in 60000ms
libusb:debug [handle_events] poll() returned 1
libusb:debug [handle_events] timerfd triggered
libusb:debug [disarm_timerfd] 
libusb:debug [libusb_cancel_transfer] 
-> MyEventLoop call libusb_handle_events twice                                  
                                        <-- CALL LIBUSB TWICE (if not called it 
stop at previous call)
libusb:debug [libusb_handle_events_timeout_completed] doing our own event 
handling
libusb:debug [handle_events] poll() 3 fds with timeout in 60000ms
libusb:debug [handle_events] poll() returned 1
libusb:debug [reap_for_handle] urb type=3 status=-2 transferred=0
libusb:debug [handle_bulk_completion] handling completion status -2 of bulk urb 
1/1
libusb:debug [handle_bulk_completion] abnormal reap: urb status -2
libusb:debug [handle_bulk_completion] abnormal reap: last URB handled, reporting
libusb:debug [usbi_handle_transfer_cancellation] detected timeout cancellation
libusb:debug [disarm_timerfd] 
BulkTransferCallback: length:6, actual length:0                                 
                                                        <-- CALLBACK IS CALLED


thx

-KA
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to