//控制传输,设置配置ret= usb_control_msg(dev, usb_sndctrlpipe(dev,0), USB_REQ_SET_CONFIGURATION,0, configuration,0, NULL,0, USB_CTRL_SET_TIMEOUT); //usb设备状态为CONFIGUREDusb_set_device_state(dev,USB_STATE_CONFIGURED);for(i =0; i < nintf; ++i) { //添加接口设备并创建端点设备ret...
代码语言:javascript 复制 staticinthub_set_address(struct usb_device*udev){int retval;...retval=usb_control_msg(udev,usb_sndaddr0pipe(),USB_REQ_SET_ADDRESS,0,udev->devnum,0,NULL,0,USB_CTRL_SET_TIMEOUT);//(1.1)等待传输完成if(retval==0){//设置新的地址,传输完成,返回0usb_set_device_s...
也就是默认的地址0加上控制端点号0; USB_REQ_SET_ADDRESS表示命令码,既设置地址; udev->devnum表示要设置目标设备的设备号;允许等待传输完成的时间为5秒,因为USB_CTRL_SET_TIMEOUT定义为5000。
usb_rcvctrlpipe(serial->dev,0), 0x22,0x21,val,serial->interface->cur_altsetting->desc.bInterfaceNumber,NULL,0,USB_CTRL_SET_TIMEOUT);4、屏蔽 usb-serial.c 中ndis和adb端口,在usb_serial_probe 函数。5、增加系统支持 增加系统支持 增加系统支持 增加系统支持 ...
同样linux内核也自带了USB总线驱动程序,框架如下...其中usb_bus_type是一个全局变量, 它和我们之前学的platform平台总线相似,属于USB总线, 是Linux中bus的一种...USB_REQ_SET_ADDRESS表示命令码,既设置地址; udev->devnum表示要设置目标设备的设备号;允许等待传输完成的时间为5秒,因为USB_CTRL_SET_TIMEOUT定义为...
/* Set a_alt_hnp_support for legacy otg device */ err = usb_control_msg(udev, usb_sndctrlpipe(udev, 0), USB_REQ_SET_FEATURE, 0, USB_DEVICE_A_ALT_HNP_SUPPORT, 0, NULL, 0, USB_CTRL_SET_TIMEOUT); if (err < 0) dev_err(&udev->dev, "set a_alt_hnp_support failed: %d\n...
USB_CTRL_GET_TIMEOUT); if (result <= 0 && result != -ETIMEDOUT) continue; if (result > 1 && ((u8 *)buf)[1] != type) { result = -ENODATA; continue; } break; } return result; } 2、usb_configure_device staticint usb_configure_device(struct usb_device *udev) ...
controlTransfer(pipe: USBDevicePipe, controlparam: USBControlParams, timeout ?: number): Promise<number> 控制传输。 需要调用usb.getDevices获取设备列表;调用usb.requestRight获取设备请求权限;调用usb.connectDevice接口得到devicepipe作为参数。 系统能力: SystemCapability.USB.USBManager 参数: ...
timeout number 否 超时时间(单位:ms),可选参数,默认为0不超时。 返回值: 类型 说明 Promise<number> Promise对象,获取传输或接收到的数据块大小。失败返回-1。 示例: //usb.getDevices 接口返回数据集合,取其中一个设备对象,并获取权限 。 //把获取到的设备对象作为参数传入usb.connectDevice...
设置命令延迟时间将导致下一个 /setPort 或 /SuperSpeed{On/Off} 命令延迟 t 秒,其中 t 介于 0 到 99 之间。 这是一个一次性的设置,只会延迟下一个命令。 不支持在延迟计时器到期之前发送多个命令。 设置断开连接超时(以毫秒为单位) /setDisconnectTimeout t 为下一个非零 /setPort 命令设置...