5inch 480×854 screen is almost ready 🙂 Compare to current 4inch one.
Recently some people report to us one problem. After they power on computer, VoCore Screen can not be found anymore, it become an Unknown Device. Currently the bad ones are on their way shipping back to us, but for now, I think I can guess what is the problem already.
It is a very weird issue, because our screen is already in some projects and pretty stable for two years, should it be the chip become bad for this batch?
Interesting thing is our embed users never report such problem but only PC users who using the screen as an extend screen run SimHub has such problem.
So, it can not be the chip problem…If there are some problem, it must be ESD!
The critical problem should be the USB data line do not have TVS diode protected. And USB data line is weak to strong noise, strong EMI will broken it from inside. But where is the noise from?
After a lot of check with the client, the truth comes up. Normally Simhub users are using a very powerful PC who has a big power supply, some times the user will open the PC metal enclosure for better cooler, then the room become a hell of the screen driver board… because it do not have any protect. :'(
I have to say it is my design flaw, this screen is designed for VoCore2, it is not designed to use in such situation. Normally for embed usage, the USB cable is very short and well protected by ground, it is not necessary to use TVS diode to protect the USB. But PC…ahhhh, PC is another story.
OK, let’s talk something hardcore…
Solution for current version
PS: I know it is stupid…but in order to increase the board life, it is necessary
- solder two TVS diodes to the USB cable D+/D-.
- connect the screen after you power on your desktop PC.
- cover the EMI source with metal case, to reduce the power on/off ; noise. (noise mainly from power on)
- a well protected/short USB cable also work.
Note: TVS diode capacitance should be < 3pF, voltage 3.3V or 5V.
Any of the three way will work.
New screen shipped from Mar.25 will default have the protect diode solder on bottom side.
If your board is broken like that, email to firstname.lastname@example.org ask a free replacement driver board.
Source code of fbusb link: https://github.com/Vonger/vocore2/tree/master/utils/fbusb
Directly Compile in Linux(raspberry pi)
This is tested on raspberrypi, it should be also working on another Linux system. Please go to fbusb/src folder then run this command.
make -C /usr/src/linux-headers-$(uname -r ) M=$PWD modules
After this command, you will get fbusb.ko
Cross-Compile for OpenWrt in MacOS
Cross compile is similar. For example, I want to compile the driver for the VoCore on my Macbook, I will need to go to fbusb driver folder first, then run this command:
make -C /Volumes/OpenWrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/linux-4.14.195 M=$(PWD) CROSS_COMPILE=mipsel-openwrt-linux- ARCH=mips
This path /Volumes/OpenWrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/linux-4.14.195 is my Linux header path, You need to change it to yours.