wince 同步口功能切換

平台是ti的OMAPL138.我想实现同步口在Serial_Class和Mass_Storage_Class之前动态切换.如果是切换
IOCTL_UFN_CHANGE_DEFAULT_CLIENT然后重启没有问题,如果不想重启,直接切换IOCTL_UFN_CHANGE_CURRENT_CLIENT,那么就会出现679的错误.
不知道有没有兄弟熟悉这方面的,指点一下.下面是一些调试信息.

UfnPdd_IOControl:
IOCTL_BUS_SET_POWER_STATE:
IOCTL_BUS_SET_POWER_STATE:
SetPowerState: USBFN entering D4
UfnPdd_DeregisterDevice:
UfnClientLib!UfnCheckPID: WARNING -- using MS reference platform VID/PID 0x045e/0xffff (not allowed in shipping platforms)
+UfnPdd_IsConfigurationSupportable:
NumInterfaces 0x1
EP 0 Addr 0x81 Attributes 0x2 MaxPktSize 0x40
EPAddr 0x81 Size 64
TX EP 0x81
EP 1 Addr 0x2 Attributes 0x2 MaxPktSize 0x40
EPAddr 0x2 Size 64
RX EP 0x02
Total EP Count 0x2 Offset 0xc0
+UfnPdd_IsEndpointSupportable EP 0
EP0 MaxPktSize 0x40
+UfnPdd_IsEndpointSupportable EP 1
Bulk or Intr EndPoint PktSize 0x40
+UfnPdd_IsEndpointSupportable EP 2
Bulk or Intr EndPoint PktSize 0x40
+UfnPdd_IsConfigurationSupportable:
NumInterfaces 0x1
EP 0 Addr 0x81 Attributes 0x2 MaxPktSize 0x200
EPAddr 0x81 Size 512
TX EP 0x81
EP 1 Addr 0x2 Attributes 0x2 MaxPktSize 0x200
EPAddr 0x2 Size 512
RX EP 0x02
Total EP Count 0x2 Offset 0x440
+UfnPdd_IsEndpointSupportable EP 0
EP0 MaxPktSize 0x40
+UfnPdd_IsEndpointSupportable EP 1
Bulk or Intr EndPoint PktSize 0x200
+UfnPdd_IsEndpointSupportable EP 2
Bulk or Intr EndPoint PktSize 0x200
+UsbFnPdd_RegisterDevice
FullSpeed NumInterfaces 0x1, altsettings=(full=1, high=1) maxPktSize 0x40:
FS Interface 0x0 EP_COUNT 0x2:
FS EP_NUM 0x1 EP MaxPktSize 0x40
FS EP_NUM 0x2 EP MaxPktSize 0x40
HS Interface 0x0 EP_COUNT 0x2:
HS EP_NUM 0x1 EP MaxPktSize 0x200
HS EP_NUM 0x2 EP MaxPktSize 0x200
-UfnPdd_RegisterDevice:
+UfnPdd_InitEndpoint EP0 PktSize 0x40 Type 0x0 ADDR 0x0, Speed 0x1
SetPowerState: USBFN entering D0
INTMSKR 0x00000101
UfnPdd_IOControl:
IOCTL_BUS_SET_POWER_STATE:
IOCTL_BUS_SET_POWER_STATE:
SetPowerState: USBFN entering D0
UfnPdd_Start:
UfnPdd_Start: USBFnPDD IntrThread 0x0308000f
UfnPdd_Start: Reenabled all Interrupts
+cppiControllerStart: Resetting Channel Info
-cppiControllerStart
+USBPeripheralStart
-USBPeripheralStart
+InterruptThread
RASCS_Disconnected: Ecode=679
Posting WM_NETCONNECT(FALSE) message, ErrorCode = 679(0x2A7)

AUTORAS:: Dialer notifies: [2] [Dialer Terminate]

唉,这个平台真不好用.
...全文
100 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
91program 2013-02-01
  • 打赏
  • 举报
回复
不重启,CE 不支持吧
  • 打赏
  • 举报
回复
用这个IOCTL_UFN_CHANGE_DEFAULT_CLIENT是需要重启的。 用IOCTL_UFN_CHANGE_CURRENT_CLIENT是可以直接切换的。 两个不一致。
  • 打赏
  • 举报
回复
支持的,我在6410上都是不用重启的。而在L138上一直无法直接切过去,一切同步口就出问题。等一会再插拔usb,依然还是在serial_class状态。

19,519

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧