Issue: USB Driver installation - Ubuntu 18.04.x

I am using a serial hook board to connect the SparkFun edge board and facing issues to detect the USB.

I used the driver from the Sparkfun site and also tried using the driver from wch site

http://www.wch.cn/downloads/CH341SER_LINUX_ZIP.html

I get the below error

make -C /lib/modules/4.18.0-17-generic/build  M=/tmp/CH341SER_LINUX  
make[1]: Entering directory '/usr/src/linux-headers-4.18.0-17-generic'
  CC [M]  /tmp/CH341SER_LINUX/ch34x.o
/tmp/CH341SER_LINUX/ch34x.c: In function ‘ch34x_close’:
/tmp/CH341SER_LINUX/ch34x.c:591:2: error: unknown type name ‘wait_queue_t’; did you mean ‘wait_event’?
  wait_queue_t wait;
  ^~~~~~~~~~~~
  wait_event
/tmp/CH341SER_LINUX/ch34x.c:591:15: warning: unused variable ‘wait’ [-Wunused-variable]
  wait_queue_t wait;
               ^~~~
/tmp/CH341SER_LINUX/ch34x.c:590:7: warning: unused variable ‘timeout’ [-Wunused-variable]
  long timeout;
       ^~~~~~~
/tmp/CH341SER_LINUX/ch34x.c:589:6: warning: unused variable ‘bps’ [-Wunused-variable]
  int bps;
      ^~~
/tmp/CH341SER_LINUX/ch34x.c: In function ‘wait_modem_info’:
/tmp/CH341SER_LINUX/ch34x.c:797:7: error: implicit declaration of function ‘signal_pending’; did you mean ‘timer_pending’? [-Werror=implicit-function-declaration]
   if( signal_pending(current) )
       ^~~~~~~~~~~~~~
       timer_pending
cc1: some warnings being treated as errors
scripts/Makefile.build:332: recipe for target '/tmp/CH341SER_LINUX/ch34x.o' failed
make[2]: *** [/tmp/CH341SER_LINUX/ch34x.o] Error 1
Makefile:1534: recipe for target '_module_/tmp/CH341SER_LINUX' failed
make[1]: *** [_module_/tmp/CH341SER_LINUX] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.18.0-17-generic'
Makefile:5: recipe for target 'default' failed
make: *** [default] Error 2

After looking around I bumped on below link

https://github.com/juliagoda/CH341SER

I was able to get the make file working and also able to load it. However, my USB still remains undetected.

make -C /lib/modules/4.18.0-17-generic/build  M=/tmp/CH341SER-master 
make[1]: Entering directory '/usr/src/linux-headers-4.18.0-17-generic'
  CC [M]  /tmp/CH341SER-master/ch34x.o
/tmp/CH341SER-master/ch34x.c: In function ‘ch34x_close’:
/tmp/CH341SER-master/ch34x.c:594:21: warning: unused variable ‘wait’ [-Wunused-variable]
  wait_queue_entry_t wait;
                     ^~~~
/tmp/CH341SER-master/ch34x.c:593:7: warning: unused variable ‘timeout’ [-Wunused-variable]
  long timeout;
       ^~~~~~~
/tmp/CH341SER-master/ch34x.c:592:6: warning: unused variable ‘bps’ [-Wunused-variable]
  int bps;
      ^~~
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/CH341SER-master/ch34x.mod.o
  LD [M]  /tmp/CH341SER-master/ch34x.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.18.0-17-generic'
sudo make load
modprobe usbserial
insmod ch34x.ko

I would appreciate if anyone has faces similar issue in ubuntu and share how they resolve it. Do let me know if you need any further details.

Note: The sparkfun edge board powers up with the serial basic. So, I don’t think its a hardware issue.

We can’t help with driver installation, but you might try a different USB cable. These sometimes are picky about what cable you use.