如何解决3G模块和USB转串口冲突问题

如何解决3G模块和USB转串口冲突问题

关于「3G模块」
看运营商做的广告就知道所谓的3G早已过去时了,现在(2016)年是4G时代了;但是「3G模块」在硬件开发就好比一个代名词,你说了这个词就知道你在指什么,而不是要说一堆「可以使用SIM卡上网的模块」。对我来说「3G模块」也是早就听过了,但是也仅仅是听过。这次的遇到的问题让我彻底和「3G模块」有了亲密接触。原因是就是WiFi热点不稳定,需要使用「3G模块」结合SIM卡来上网。

然后我从主板厂家拿到了一个3G模块,型号为U7500。初步测试正常,就通知采购可用了,然后在用在正式设备上出现了问题,让我感到十分的奇怪。

还是老规矩,一点一点对比测试,定位到它和一个「USB转串口」设备冲突,只要连接了这个「USB转串口」,3G模块就不能正常工作。有了这个测试结果,我开始有方向从软件层面来查看问题所在了。

这个U7500这个3G模块是一个PCI-e接口,一时我无法把它和「USB转串口」联系到一起。通过adb shell进入Android设备中查看不同情况下USB转串口的设备节点情况,暂时总结出的规律是单插入「3G模块」会生成ttyUSB0/1/2这3个设备节点,我的思路大概清晰了。应该是在插入「USB转串口」时其设备节点占用了「3G模块」固定使用的ttyUSB0/1/2这3个设备节点全部或者部分从而导致「3G模块」无法正常使用。

问题的规律得以找到后,一方面将此问题反馈给了主板厂家,让他们协助解决,具体的方案我都给他们想好了,a.改「3G模块」底层代码以实现动态识别「3G模块」所在的设备节点; b.改USB转串口驱动程序,将设备节点改到一个数10开始命名,这样就可以躲开「3G模块」固定使用的0,1,2这三个串口端口号;如果厂家不能即时帮助我还想到了硬件上的实现方案:c.在USB转串口前加一个可控上电装置,APP启动后通过GPIO控制「USB转串口」上电,这个方案其实是b方案的硬件实现方法。

厂家按照方案b改的,改过之后测试正常,暂无其它情况问题不暂以这样结束,但是我并不死心。USB转串口只是这样的命运吗?为什么这么惨呢?没有固定的名字?大厂(大公司)是怎么解决这个问题呢?这是一个问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

袁保康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值