Commit Graph

198 Commits

Author SHA1 Message Date
Nathan Conrad d1656c0b8d tu_verify for getting descriptors 2020-04-20 16:09:15 -04:00
hathach 05476d9ad7 Merge branch 'master' into remove-dcd-set-config 2020-04-17 13:38:22 +07:00
Ha Thach 33610751d7
Merge pull request #336 from pigrew/edpt_close
> If you notice my chain of events above, the bulk transfer was started BEFORE the SET_INTERFACE call. The USB device hardware swaps the order of them being delivered. On STM32, it gives priority to the lower-numbered EP index.

It shouldn't be a matter, control is 2+ stage, before sending the setup. Host should stop all communication to the endpoint that It wants to close.
2020-04-16 23:10:36 +07:00
Nathan Conrad 2994d100cd Remove transfer queue filtering. May need to be revisited later. 2020-04-16 09:59:40 -04:00
hathach 2eed58d096
per review 2020-04-16 11:13:54 +07:00
hathach 0ddbda08cb
always response if GET_INTERFACE even if class driver does not support alt interface 2020-04-15 23:08:49 +07:00
hathach caa1dceed9
implement alternate setInterface() request
mostly forward these request (recipient = interface) to class driver.
2020-04-15 17:51:02 +07:00
hathach d315393fbb
use IAD to assign itf2drv mapping correctly
merge net_data back into net driver
2020-04-15 16:18:24 +07:00
hathach 93ffe317b2
clean up 2020-04-15 13:53:50 +07:00
hathach 3bfb402d8c
clean up 2020-04-15 11:44:12 +07:00
hathach 1faa3b2768
tested usbnet, completely remove class code 2020-04-15 11:41:26 +07:00
hathach c74f7e708e
remove class_code/subclass/protocol from driver structure, add name for logging 2020-04-15 11:06:35 +07:00
hathach f1a6f92fab
Merge branch 'master' into class-driver-id 2020-04-15 10:47:49 +07:00
Peter Lawrence 7fa8d87291 usbnet: remove CDC-EEM 2020-04-14 21:10:43 -05:00
hathach 3ef6e33533
use class driver open() for interface support detection
tested with dfu_runtime
2020-04-15 01:00:37 +07:00
hathach ae60146274 use explicit all_subclass and all_protocol since 0xFF is stil valid 2020-04-14 22:35:34 +07:00
Nathan Conrad 16f65890eb Merge branch 'master' into edpt_close 2020-04-14 10:22:03 -04:00
hathach b90b00d43b
complete adding subclass and protocol to driver id 2020-04-14 18:35:50 +07:00
hathach 593fe154ec
adding subclass & protocol to class driver structure 2020-04-14 18:00:59 +07:00
Nathan Conrad de208b31cf edpt_close: Remove item from queue instead of modifying it. 2020-04-13 11:05:34 -04:00
Nathan Conrad f8e7487355 edpt_close: Updated based on feedback. 2020-04-13 09:51:46 -04:00
hathach f4df829399 lpc17xx move set configdevice into set address
for removing dcd_set_config()
2020-04-13 17:04:18 +07:00
Nathan Conrad 0eeaccaf46 Skeleton, and initial stm32fsdev implementation (that leaks memory) 2020-04-12 21:27:27 -04:00
Peter Lawrence bb3bbcc00b usbnet: OS-agnostic (Windows/Linux/macOS) network driver 2020-04-12 15:41:18 -05:00
Ha Thach 07809d03a7
Merge pull request #332 from pigrew/stm32fsdev-dcdconnect
stm32fsdev: Implement dcd_connect.
2020-04-11 13:20:31 +07:00
hathach 1b3d1b52c9 fix uint32_t format with log 2020-04-10 13:54:50 +07:00
Nathan Conrad 715c4dbbf8 stm32fsdev: Implement dcd_connect. 2020-04-09 17:03:12 -04:00
hathach c026236824 house keeping 2020-04-06 16:33:04 +07:00
hathach 4f871063fd Merge branch 'master' into cr1901-msp430f5529 2020-03-22 17:19:57 +07:00
hathach 7aa5a53652 fix log printf 2020-03-08 13:26:36 +07:00
Peter Lawrence fee79d7466 add CDC-ECM/RNDIS/CDC-EEM network device class with example 2020-03-02 21:15:01 -06:00
Chang Feng b8ea0f0a6b
Add langid support to descriptor string callback.
Signed-off-by: Chang Feng <chang_196700@hotmail.com>
2020-02-26 13:07:15 +08:00
Nathan Conrad 25c1bea782 Normalize line endings 2020-01-15 14:47:43 -05:00
Ha Thach d6a8d42bd6
Merge pull request #254 from majbthrd/multi-setconfig
gracefully handle multiple SET_CONFIGURATION requests
2020-01-05 17:48:55 +07:00
Jeremy Herbert db24b2f372 Let device respond to endpoint requests on EP0 (#251)
Since endpoint 0 is used for control requests, it doesn't have a class driver attached to it. As such, the corresponding `_usbd_dev.ep2drv` entry points to driver `0xFF`, which is invalid and this makes the `TU_ASSERT(drvid < USBD_CLASS_DRIVER_COUNT);` line fail, and eventually causes an endpoint stall. So as-is the stack cannot respond to any endpoint requests on endpoint 0.

However, standard requests on endpoint 0 do not need a class driver to produce a valid response. This commit changes the order of execution so that the assert is only checked if the endpoint is not 0.
2019-12-30 10:58:06 +07:00
Peter Lawrence e7bf66b29e gracefully handle multiple SET_CONFIGURATION requests 2019-12-28 16:49:52 -06:00
hathach bbada1d3e6 adding lookup table for debugging
add msc scsi command list
2019-12-23 18:54:06 +07:00
hathach 050fa2fd39
able to response to scsi inquiry, but failed to response to test unit ready 2019-12-21 19:33:41 +07:00
hathach d7558e8a0f use dcd_edpt0_status_complete() to set address without blocking for samd21/samd51/stm32_fsdev 2019-11-28 13:39:29 +07:00
hathach 5dc04887e2 get passed set address 2019-11-28 11:48:08 +07:00
hathach 40b454cf28 get passed first get device descriptor 2019-11-27 23:20:48 +07:00
hathach 8a1b6327ba extract code to invoke_class_control()
- also rename usbd_class_drivers to _usbd_driver
2019-11-27 12:12:52 +07:00
hathach 1ab3a1035c Merge branch 'master' into cr1901-msp430f5529 2019-11-05 10:17:36 +07:00
hathach 3c49ff153e
Merge pull request #149 from pigrew/ZLP_Request2
Zlp request2
2019-11-05 00:05:21 +07:00
Nathan Conrad 8d0fa158d7 Change one more TU_ASSERT to TU_VERIFY in usbd. 2019-11-04 11:33:14 -05:00
hathach 2727983a2d fix #211 2019-11-04 22:52:29 +07:00
Nathan Conrad a94fe05ecb usbd: Change TU_ASSERT to TU_VERIFY as the assertion can be hit when bad data is sent from host. 2019-11-04 08:59:29 -05:00
hathach 62f8c14fae add a bit of log1 for debugging 2019-11-03 14:08:38 +07:00
hathach 1b51b78eaf hack the request length for the first get device descriptor if EP0 size =8 or 16
to prevent usbd control send out ZLP
2019-11-03 00:17:17 +07:00
hathach a0cffdc843 Merge branch 'pigrew-ZLP_Request2' into cr1901-msp430f5529 2019-11-02 23:29:35 +07:00