os:wince6.0,s3c6410,usb hub是GL850G,重新上电有时候无法识别usb 鼠标或者是u盘,
以前坛子里也讨论过,是wince5.0的,有个sleep就可以了,但在wince6.0应该是修补了bug了
哪位也遇到过?
之前也有人发过帖:
http://topic.csdn.net/u/20090916/10/6009396f-54a7-427e-90c0-f2723e58cf4f.html?seed=415955654&r=59851966#r_59851966
9 个解决方案
#1
调用reload
#2
看过usb hub的驱动,貌似每次插入设备的时候,系统才会一层层的调用驱动,是否可以从驱动处修改,每次系统启动之后,进行一次设备枚举呢?
#3
偶然的时候,还会出现
!!!CFunction( tier 2)::SetOrClearFeature timeout, somthing wrong, address = 4
Exception 'Data Abort' (4): Thread-Id=014f0006(pth=82182000), Proc-Id=00400002(pprc=81769308) 'NK.EXE', VM-active=00400002(pprc=81769308) 'NK.EXE'
PC=c0ac9f74(s3c6410_ohci2.dll+0x00009f74) RA=c0ac9fa4(s3c6410_ohci2.dll+0x00009fa4) SP=d08bfe74, BVA=52099a00
Exception 'Data Abort' (4): Thread-Id=014c0006(pth=85c0945c), Proc-Id=00400002(pprc=81769308) 'NK.EXE', VM-active=06330002(pprc=82538580) 'servicesd.exe'
PC=c0ac9f04(s3c6410_ohci2.dll+0x00009f04) RA=c0ac9ef0(s3c6410_ohci2.dll+0x00009ef0) SP=d083fe4c, BVA=520978a8
驱动中应该还有问题,但和原始的比较了一下,代码都一样,
!!!CFunction( tier 2)::SetOrClearFeature timeout, somthing wrong, address = 4
Exception 'Data Abort' (4): Thread-Id=014f0006(pth=82182000), Proc-Id=00400002(pprc=81769308) 'NK.EXE', VM-active=00400002(pprc=81769308) 'NK.EXE'
PC=c0ac9f74(s3c6410_ohci2.dll+0x00009f74) RA=c0ac9fa4(s3c6410_ohci2.dll+0x00009fa4) SP=d08bfe74, BVA=52099a00
Exception 'Data Abort' (4): Thread-Id=014c0006(pth=85c0945c), Proc-Id=00400002(pprc=81769308) 'NK.EXE', VM-active=06330002(pprc=82538580) 'servicesd.exe'
PC=c0ac9f04(s3c6410_ohci2.dll+0x00009f04) RA=c0ac9ef0(s3c6410_ohci2.dll+0x00009ef0) SP=d083fe4c, BVA=520978a8
驱动中应该还有问题,但和原始的比较了一下,代码都一样,
#4
// Apply power to all root hub ports, and wait for good to go. 7.4.1 & 7.4.3
m_portBase->HcRhDescriptorA.NPS = 1;
m_portBase->HcRhStatus.reg= HcRegisters::HcRhStatus::LPSC;
Sleep(m_portBase->HcRhDescriptorA.POTPGT * 2);
// ... ...
我这是WinCE7,WinCE5的那个bug,应该是早已经修补过了。
不知道再加一些延时,会不会有什么效果。如:Sleep(10);
或者拉一下相应管脚,模拟一次USB插拔呢。帮顶了。
#5
Sleep(m_portBase->HcRhDescriptorA.POTPGT * 2);
这个已经在ce6.0上修补过了,
这个已经在ce6.0上修补过了,
#6
延时再加长一点呢?或者再下面再加上一个Sleep(10);
#7
可能是电压不稳定 我的也经常这样
#8
楼上提醒了,会不是硬件的问题,之前我们项目用U盘,也是偶尔会断开。
#9
有点神马,应该是硬件问题
#1
调用reload
#2
看过usb hub的驱动,貌似每次插入设备的时候,系统才会一层层的调用驱动,是否可以从驱动处修改,每次系统启动之后,进行一次设备枚举呢?
#3
偶然的时候,还会出现
!!!CFunction( tier 2)::SetOrClearFeature timeout, somthing wrong, address = 4
Exception 'Data Abort' (4): Thread-Id=014f0006(pth=82182000), Proc-Id=00400002(pprc=81769308) 'NK.EXE', VM-active=00400002(pprc=81769308) 'NK.EXE'
PC=c0ac9f74(s3c6410_ohci2.dll+0x00009f74) RA=c0ac9fa4(s3c6410_ohci2.dll+0x00009fa4) SP=d08bfe74, BVA=52099a00
Exception 'Data Abort' (4): Thread-Id=014c0006(pth=85c0945c), Proc-Id=00400002(pprc=81769308) 'NK.EXE', VM-active=06330002(pprc=82538580) 'servicesd.exe'
PC=c0ac9f04(s3c6410_ohci2.dll+0x00009f04) RA=c0ac9ef0(s3c6410_ohci2.dll+0x00009ef0) SP=d083fe4c, BVA=520978a8
驱动中应该还有问题,但和原始的比较了一下,代码都一样,
!!!CFunction( tier 2)::SetOrClearFeature timeout, somthing wrong, address = 4
Exception 'Data Abort' (4): Thread-Id=014f0006(pth=82182000), Proc-Id=00400002(pprc=81769308) 'NK.EXE', VM-active=00400002(pprc=81769308) 'NK.EXE'
PC=c0ac9f74(s3c6410_ohci2.dll+0x00009f74) RA=c0ac9fa4(s3c6410_ohci2.dll+0x00009fa4) SP=d08bfe74, BVA=52099a00
Exception 'Data Abort' (4): Thread-Id=014c0006(pth=85c0945c), Proc-Id=00400002(pprc=81769308) 'NK.EXE', VM-active=06330002(pprc=82538580) 'servicesd.exe'
PC=c0ac9f04(s3c6410_ohci2.dll+0x00009f04) RA=c0ac9ef0(s3c6410_ohci2.dll+0x00009ef0) SP=d083fe4c, BVA=520978a8
驱动中应该还有问题,但和原始的比较了一下,代码都一样,
#4
// Apply power to all root hub ports, and wait for good to go. 7.4.1 & 7.4.3
m_portBase->HcRhDescriptorA.NPS = 1;
m_portBase->HcRhStatus.reg= HcRegisters::HcRhStatus::LPSC;
Sleep(m_portBase->HcRhDescriptorA.POTPGT * 2);
// ... ...
我这是WinCE7,WinCE5的那个bug,应该是早已经修补过了。
不知道再加一些延时,会不会有什么效果。如:Sleep(10);
或者拉一下相应管脚,模拟一次USB插拔呢。帮顶了。
#5
Sleep(m_portBase->HcRhDescriptorA.POTPGT * 2);
这个已经在ce6.0上修补过了,
这个已经在ce6.0上修补过了,
#6
延时再加长一点呢?或者再下面再加上一个Sleep(10);
#7
可能是电压不稳定 我的也经常这样
#8
楼上提醒了,会不是硬件的问题,之前我们项目用U盘,也是偶尔会断开。
#9
有点神马,应该是硬件问题