Coder Social home page Coder Social logo

ch341ser's Introduction

CH341SER driver

  1. About driver
  2. Required dependencies
  3. Changes
  4. Tests
  5. Installation
  6. Official website
  7. Tutorial on Arch Linux
  8. Tutorial on Ubuntu
  9. Compatibility
  10. Fixing Problems


About driver

It's a manufacturer software of standard serial to usb chip marked CH340



Required dependencies

  • linux-headers

if you are using a different kernel, remember to install the headers for it, because the above package is for the standard linux kernel

When using SecureBoot, you need to sign module. You can follow this instruction
Otherwise make load can fail

Changes

Added line
#include <linux/sched/signal.h>

which helps to fix the problem below:
error: implicit declaration of function ‘signal_pending’; did you mean ‘timer_pending’? [-Werror=implicit-function-declaration]

and changed line:
wait_queue_t wait;
to
wait_queue_entry_t wait;
which helps to fix next problem below:
error: unknown type name ‘wait_queue_t’; did you mean ‘wait_event’?


merged pull request #17 (sirlucjan) and e-mail from [email protected] fixed:

error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]

Thanks to hesaputra - #10


Added const to the line with ch34x_set_termios

Thanks to beautifulzzzz - #30



Additionally first pull request helped to merge changes for version 1.5 released in 2018-03-18: [#1

Tests

Tested on:

  • Arch Linux 4.11.3-1-hardened
  • Arch Linux 4.11.3-1-ARCH
  • Linux Mint 19.3 Cinnamon
  • Ubuntu 18.04.5 LTS
  • ubuntu 22.04
  • CentOS Linux release 8.3.2011


Installation

See original readme.txt



Official website

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



Tutorial on Arch Linux

Tested for Arduino UNO R3 Clone

install required packages:
sudo pacman -S arduino arduino-docs avr-binutils avr-gcc avr-libc avrdude


if your system detects the package below:
pacman -Qs arduino-avr-core


you should remove it:
sudo pacman -R arduino-avr-core


we add current user to uucp and lock groups:

gpasswd -a $USER uucp
gpasswd -a $USER lock

it's possible, that you have to load that module:
modprobe cdc_acm


clone fixed driver:
git clone https://github.com/juliagoda/CH341SER.git


according to the original readme.txt, we use the commands below:

make
sudo make load

to be sure, that module will be loaded after reboot, you can change file extension from ".ko" to ".ko.gz" and add it to drivers path:

find . -name *.ko | xargs gzip
sudo cp ch34x.ko.gz /usr/lib/modules/$(uname -r)/kernel/drivers/usb/serial

if the command:
lsmod | grep ch341


shows some result (but it doesn't have to), then:

sudo rmmod ch341
sudo mv /usr/lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko.gz /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko.gz~

sudo depmod -a


let's connect Arduino UNO R3 Clone to USB input and check our results:
dmesg | grep ch34x


that's example of my command's output:

[  492.836159] ch34x 3-1:1.0: ch34x converter detected
[  492.846265] usb 3-1: ch34x converter now attached to ttyUSB0

so our driver ch34x was successfully loaded and our port's name is ttyUSB0

Let's start our installed Arduino IDE.

First we should install package for Arduino AVR Boards from Boards Manager:


Choose of Boards Manager


Installation of packages for Arduino AVR Boards from Boards Manager


And now we must choose our port's name. My port's name is ttyUSB0.


Choose of port's name




Why we wanted arduino-avr-core package from official repo to be removed? Let's check it out.

sudo pacman -S arduino-avr-core


and let's reopen our Arduino IDE and check out boards list.


New label have been added to boards list


New label "Arch Linux Arduino AVR Boards" with boards has been added to boards list. It has the same options, so let's choose "Arduino/Genuino Uno" from a new part and upload our code to Arduino UNO R3 Clone.


The same option has been checked in new part


Upload with error


It didn't work. I think, that the package was created for original arduino boards, which are not compatible with their clones. If you want to have installed the package and work on clone of Arduino, better choose the same option from part labeled "Arduino AVR Boards".



Tutorial on Ubuntu

  1. First uninstall brltty (if you are blind DO NOT DO THIS) brltty helps peoples who can´t see to do things on system.
  2. Download the source code: git clone -b ubuntu https://github.com/juliagoda/CH341SER.git
  3. Goto the directory of the source code
  4. Compile: make
  5. Sign the module (needed in systems with secure boot enabled) : kmodsign sha512 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der ./ch34x.ko
  6. Load module: make load

Compatibility

This driver is not compatible with the Olimex ESP32-POE rev C board

Fixing Problems

if the dmesg command does not indicate ttyUSB, only:

[ 457.050482] usbserial: USB Serial support registered for ch34x
1279.608531] ch34x 3-2:1.0: ch34x converter detected

then:

  1. some dependencies are missing (are not installed)
  2. at this stage the Arduino was connected not only to USB, but also to a prepared breadboard (you have to unplug cables connecting Arduino to breadboard)
  3. kernel hearders are missing (are not installed)
  4. It may happen, that kernel doesn't contain CONFIG_USB_SERIAL_CH341 flag, but you need it or it is disabled. You have to check configs of the kernel you are using

ch341ser's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ch341ser's Issues

`make` error on Linux Mint 20.2

➜  CH341SER git:(master) ✗ make
make -C /lib/modules/5.15.0-53-generic/build  M=/home/zero/tmp/ch340/CH341SER 
make[1]: Entering directory '/usr/src/linux-headers-5.15.0-53-generic'
  CC [M]  /home/zero/tmp/ch340/CH341SER/ch34x.o
/home/zero/tmp/ch340/CH341SER/ch34x.c:1300:20: error: initialization of ‘unsigned int (*)(struct tty_struct *)’ from incompatible pointer type ‘int (*)(struct tty_struct *)’ [-Werror=incompatible-pointer-types]
 1300 |  .write_room     = ch34x_write_room,
      |                    ^~~~~~~~~~~~~~~~
/home/zero/tmp/ch340/CH341SER/ch34x.c:1300:20: note: (near initialization for ‘ch34x_device.write_room’)
/home/zero/tmp/ch340/CH341SER/ch34x.c:1301:21: error: initialization of ‘unsigned int (*)(struct tty_struct *)’ from incompatible pointer type ‘int (*)(struct tty_struct *)’ [-Werror=incompatible-pointer-types]
 1301 |  .chars_in_buffer = ch34x_chars_in_buffer,
      |                     ^~~~~~~~~~~~~~~~~~~~~
/home/zero/tmp/ch340/CH341SER/ch34x.c:1301:21: note: (near initialization for ‘ch34x_device.chars_in_buffer’)
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:297: /home/zero/tmp/ch340/CH341SER/ch34x.o] Error 1
make[1]: *** [Makefile:1903: /home/zero/tmp/ch340/CH341SER] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-53-generic'
make: *** [Makefile:7: default] Error 2

Does not compile on Linux Mint 19

Hi,
This does not compile on Linux mint 19 giving the following messages:
make -C /lib/modules/5.4.0-87-generic/build M=/home/jeroen/CH341SER make[1]: Entering directory '/usr/src/linux-headers-5.4.0-87-generic' CC [M] /home/jeroen/CH341SER/ch34x.o /home/jeroen/CH341SER/ch34x.c:1292:20: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] .write_room = ch34x_write_room, ^~~~~~~~~~~~~~~~ /home/jeroen/CH341SER/ch34x.c:1292:20: note: (near initialization for ‘ch34x_device.write_room’) /home/jeroen/CH341SER/ch34x.c:1293:21: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] .chars_in_buffer = ch34x_chars_in_buffer, ^~~~~~~~~~~~~~~~~~~~~ /home/jeroen/CH341SER/ch34x.c:1293:21: note: (near initialization for ‘ch34x_device.chars_in_buffer’) cc1: some warnings being treated as errors scripts/Makefile.build:270: recipe for target '/home/jeroen/CH341SER/ch34x.o' failed make[2]: *** [/home/jeroen/CH341SER/ch34x.o] Error 1 Makefile:1762: recipe for target '/home/jeroen/CH341SER' failed make[1]: *** [/home/jeroen/CH341SER] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-87-generic' Makefile:7: recipe for target 'default' failed make: *** [default] Error 2
gcc 7.5.0

Any ideas??

Thanks! Jeroen

test ok in ubuntu 22.04

hi !

I have the file in my drivers list
/usr/lib/modules/5.15.0-27-generic/kernel/drivers/usb/serial/ch341.ko
my esp32 module connect normally!

usbfs: interface 0 claimed by ch34x while 'brltty' sets config #1

make 
sudo make load

then reboot, still can't find ttyUSB.

sudo dmesg | grep ch34x
still show the disconnect msg:

  284.973396] ch34x 3-4.2:1.0: ch34x converter detected
[  284.973894] usb 3-4.2: ch34x converter now attached to ttyUSB0
[  285.019333] usb 3-4.2: usbfs: interface 0 claimed by ch34x while 'brltty' sets config #1
[  285.019883] ch34x ttyUSB0: ch34x converter now disconnected from ttyUSB0
[  285.019895] ch34x 3-4.2:1.0: device disconnected

then, I find : https://unix.stackexchange.com/questions/670636/unable-to-use-usb-dongle-based-on-usb-serial-converter-chip

use:

for f in /usr/lib/udev/rules.d/*brltty*.rules; do
    sudo ln -s /dev/null "/etc/udev/rules.d/$(basename "$f")"
done
sudo udevadm control --reload-rules
sudo systemctl mask brltty.path

then OK (no need to reboot)

on manjaro linux device detected but not initialized.

sudo dmesg | grep ch34x gitves the following :

[  199.366031] usbcore: registered new interface driver ch34x
[  199.366047] usbserial: USB Serial support registered for ch34x

I foloowed all steps for archlinux (all dependencies satisied)

Make detects "no control file" & Make load displays "Invalid module format"

I am so done with this. This is without a doubt the worst error ever, I hate make.

When I try to execute sudo make in the CH341SER folder, it simply enters the modules/....../amd64/build foldder and leaves because no destination or make control file was named.

When using the InstallACModule's "InstallCH340.sh" file, I finally have a ch34x.ko. So I tried to copy the file to the CH341SER folder and then wrote `sudo make load.
Except now I get the error

modprobe usbserial
insmod ch34x.ko
insmod: ERROR: could not insert module ch34x.ko: Invalid module format
make: *** [Makefile:12: load] Error 1

EDIT: Please help, put an end to this extrodinary suffering

CH340 keeps repetedly connecting and disconnecting

As in the title, I have a device with ch340 which keeps connecting and disconnecting after being plugged in.
I gave a little bit of description on askubuntu and don't want to repeat myself.

It seems like always before disconnecting the usb_serial_suspend function is called (I found this by using kprobe from perf tools.

I would be truly grateful if someone knows a way to either fix or debug this.

Can't make file on Ubuntu

Getting the following error when trying to make both the master and Ubuntu branches

make[1]: Entering directory '/usr/src/linux-headers-6.5.6-76060506-generic'
make[2]: *** No rule to make target 'Projects/CH341SER'. Stop.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.5.6-76060506-generic'
make: *** [Makefile:7: default] Error 2

Test on Ubuntu fully succesfull

Hello

I have tested it on Ubuntu 18.04.5 LTS and it works fine.

I highly suggest that you would mention your correction to the original chinese developer and that this version would be integrated into most linux distributions as it works fine.

can`t make

Can`t build

Perhaps need kernel source?
Place *.dep in release -- is posible?

make[1]: *** /lib/modules/5.18.1-stb-exy+/build: No such file or directory.  Stop.
make: *** [Makefile:7: default] Error 2```
also as

ls -la /lib/modules/5.18.1-stb-exy+/build
lrwxrwxrwx 1 root root 37 Jun 5 2022 /lib/modules/5.18.1-stb-exy+/build -> /home/compile/source/linux-stable-exy


miniboards: 
```uname -a
Linux r2d3 5.18.1-stb-exy+ #1 SMP PREEMPT Sun Jun 5 10:36:47 CEST 2022 armv7l armv7l armv7l GNU/Linux```

Just Feedback: Do not work on Debian 10.8

Compilation ok.
loading (insmod) ok.

But when you access the /dev/zzyUSB0 device the task hangs. CTRL-C does not cancel the task. Reboot only.

# uname -a
Linux Server 4.19.0-14-amd64 #1 SMP Debian 4.19.171-2 (2021-01-30) x86_64 GNU/Linux

# cat /etc/debian_version 
10.8
[   14.714612] ch34x: loading out-of-tree module taints kernel.
[   14.714653] ch34x: module verification failed: signature and/or required key missing - tainting kernel
[   14.715061] usbcore: registered new interface driver ch34x
[   14.715070] usbserial: USB Serial support registered for ch34x
[   14.715091] ch34x 4-2:1.0: ch34x converter detected
[   14.715096] ------------[ cut here ]------------
[   14.715096] transfer buffer not dma capable
[   14.715133] WARNING: CPU: 0 PID: 302 at drivers/usb/core/hcd.c:1585 usb_hcd_map_urb_for_dma+0x3ce/0x570 [usbcore]
[   14.715134] Modules linked in: ch34x(OE+) usbserial sg hpwdt i2c_algo_bit iTCO_wdt iTCO_vendor_support hpilo pcc_cpufreq button ipmi_si(+) ie31200_edac acpi_power_meter ipmi_devintf ipmi_msghandler ip_tables x_tables autofs4 ext4 crc16 mbcache jbd2 fscrypto ecb crypto_simd cryptd glue_helper aes_x86_64 ses enclosure scsi_transport_sas uas usb_storage sd_mod raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c crc32c_generic raid1 raid0 multipath linear md_mod ahci libahci libata crc32c_intel scsi_mod psmouse lpc_ich mfd_core xhci_pci uhci_hcd xhci_hcd ehci_pci ehci_hcd tg3 usbcore libphy thermal usb_common
[   14.715153] CPU: 0 PID: 302 Comm: systemd-udevd Tainted: G           OE     4.19.0-14-amd64 #1 Debian 4.19.171-2
[   14.715154] Hardware name: HP [...]
[   14.715162] RIP: 0010:usb_hcd_map_urb_for_dma+0x3ce/0x570 [usbcore]
[   14.715163] Code: 39 ce 73 7a 80 3d 7a d0 02 00 00 41 bc f5 ff ff ff 0f 85 05 ff ff ff 48 c7 c7 e8 6a 30 c0 c6 05 60 d0 02 00 01 e8 47 38 e1 ec <0f> 0b 8b 53 64 e9 e8 fe ff ff 81 4b 64 00 00 02 00 e9 5a fd ff ff
[   14.715164] RSP: 0000:ffffa4508089f900 EFLAGS: 00010286

make error on arch linux —— ch34x.c:1294:27: error: initialization of ‘void (*)(struct tty_struct *, struct usb

ERROR LOG:

➜  CH341SER git:(master) make
make -C /lib/modules/6.1.4-arch1-1/build  M=/home/btfz/CH341SER 
make[1]: Entering directory '/usr/lib/modules/6.1.4-arch1-1/build'
  CC [M]  /home/btfz/CH341SER/ch34x.o
/home/btfz/CH341SER/ch34x.c:1294:27: error: initialization of ‘void (*)(struct tty_struct *, struct usb_serial_port *, const struct ktermios *)’ from incompatible pointer type ‘void (*)(struct tty_struct *, struct usb_serial_port *, struct ktermios *)’ [-Werror=incompatible-pointer-types]
 1294 |         .set_termios    = ch34x_set_termios,
      |                           ^~~~~~~~~~~~~~~~~

edit the file CH341SER/ch34x.c

image

then

make
sudo make load

no need reboot, every thing is OK.

MY PC INFO:

➜  CH341SER git:(master) ✗ screenfetch 
                   -`                 
                  .o+`                 btfz@lt-pc
                 `ooo/                 OS: Arch Linux 
                `+oooo:                Kernel: x86_64 Linux 6.1.4-arch1-1
               `+oooooo:               Uptime: 4h 11m
               -+oooooo+:              Packages: 1688
             `/:-:++oooo+:             Shell: zsh 5.9
            `/++++/+++++++:            Resolution: 3200x1080
           `/++++++++++++++:           DE: Xfce4
          `/+++ooooooooooooo/`         WM: Xfwm4
         ./ooosssso++osssssso+`        WM Theme: Microdeck3
        .oossssso-````/ossssss+`       GTK Theme: Arc-Dark [GTK2]
       -osssssso.      :ssssssso.      Icon Theme: Numix-Circle
      :osssssss/        osssso+++.     Font: Sans 10
     /ossssssss/        +ssssooo/-     Disk: 149G / 215G (73%)
   `/ossssso+/:-        -:/+osssso+-   CPU: Intel Xeon E3-1230 V2 @ 8x 3.7GHz [39.0°C]
  `+sso+:-`                 `.-/+oso:  GPU: AMD/ATI Juniper PRO [Radeon HD 6750]
 `++:.                           `-/+/ RAM: 2909MiB / 7891MiB
 .`                                 `/

RPi 4 - Invalid module format

Hi,

i have tried it but not working:

root@3dprinters:~/CH341SER_FIX# export LANG=c
root@3dprinters:~/CH341SER_FIX# make
make -C /lib/modules/5.15.24-v7l+/build  M=/root/CH341SER_FIX 
make[1]: Entering directory '/usr/src/linux'
  CC [M]  /root/CH341SER_FIX/ch34x.o
  MODPOST /root/CH341SER_FIX/Module.symvers
  CC [M]  /root/CH341SER_FIX/ch34x.mod.o
  LD [M]  /root/CH341SER_FIX/ch34x.ko
make[1]: Leaving directory '/usr/src/linux'
root@3dprinters:~/CH341SER_FIX# make load
modprobe usbserial
insmod ch34x.ko
insmod: ERROR: could not insert module ch34x.ko: Invalid module format
make: *** [Makefile:12: load] Error 1

how can resolve?

Thanks

Repo transfer

Due to a small amount of free time, I would like to transfer this repo to someone who is able to continue to take care of it. Those willing to do so should let me know under this issue. Thanks for your understanding.

module verification failed: signature and/or required key missing - tainting kernel

hello

i'm follow the readme.txt install this driver on Ubuntu 18.04, but it's not work.

uname -a

Linux lxeo 5.4.0-45-generic #49~18.04.2-Ubuntu SMP Wed Aug 26 16:29:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
lsmod | grep ch34

ch34x                  24576  0
usbserial              49152  1 ch34x
dmesg | grep ch34

[   57.989423] ch34x: loading out-of-tree module taints kernel.
[   57.989477] ch34x: module verification failed: signature and/or required key missing - tainting kernel
[   57.989761] usbcore: registered new interface driver ch34x
[   57.989789] usbserial: USB Serial support registered for ch34x
[  269.528281] usbserial: USB Serial deregistering driver ch34x
[  269.528331] usbcore: deregistering interface driver ch34x
[  272.788150] usbcore: registered new interface driver ch34x
[  272.788168] usbserial: USB Serial support registered for ch34x
ls /dev/ttyUSB*

zsh: no matches found: /dev/ttyUSB*

insmod: ERROR: could not insert module ch34x.ko: Key was rejected by service

root@BytePrisoner-HLYL-WXX9:/ufo/CH341SER#
root@BytePrisoner-HLYL-WXX9:/ufo/CH341SER# uname -a
Linux BytePrisoner-HLYL-WXX9 6.5.0-17-generic #1722.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 16 14:32:32 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
root@BytePrisoner-HLYL-WXX9:/ufo/CH341SER# make
make -C /lib/modules/6.5.0-17-generic/build M=/ufo/CH341SER
make[1]: 进入目录“/usr/src/linux-headers-6.5.0-17-generic”
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1
22.04) 12.3.0
You are using: gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
make[1]: 离开目录“/usr/src/linux-headers-6.5.0-17-generic”
root@BytePrisoner-HLYL-WXX9:/ufo/CH341SER# make load
modprobe usbserial
insmod ch34x.ko
insmod: ERROR: could not insert module ch34x.ko: Key was rejected by service
make: *** [Makefile:12:load] 错误 1
root@BytePrisoner-HLYL-WXX9:/ufo/CH341SER#

Driver results in warning/trace

Hey, thanks for the driver, it works great.

The only thing that worries me a bit is the fact that when it's loaded it always results in a warning/error/trace after boot (Ubuntu 20.04.3 LTS focal, HWE 5.11.0-43-generic):

[Sun Dec 19 05:49:03 2021] ch34x 5-2.4:1.0: ch34x converter detected
[Sun Dec 19 05:49:03 2021] ------------[ cut here ]------------
[Sun Dec 19 05:49:03 2021] transfer buffer is on stack
[Sun Dec 19 05:49:03 2021] WARNING: CPU: 13 PID: 28585 at drivers/usb/core/hcd.c:1491 usb_hcd_map_urb_for_dma+0x303/0x4b0
[Sun Dec 19 05:49:03 2021] Modules linked in: rapl(+) eeepc_wmi(+) input_leds ch34x(OE+) snd usbserial nct6775 wmi_bmof joydev mxm_wmi efi_pstore zenpower(OE) soundcore ccp hwmon_vid ryzen_smu(OE) mac_hid nvidia_uvm(POE) parport_pc ppdev lp parport nfsd auth_rpcgss nfs_acl lockd grace sunrpc nfs_ssc ip_tables x_tables autofs4 dm_crypt raid10 raid1 raid0 multipath linear raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c hid_generic usbhid hid nvidia_drm(POE) nvidia_modeset(POE) nvidia(POE) mfd_aaeon asus_wmi sparse_keymap drm_kms_helper video crct10dif_pclmul syscopyarea sysfillrect sysimgblt fb_sys_fops crc32_pclmul ghash_clmulni_intel cec rc_core nvme aesni_intel drm crypto_simd cryptd nvme_core ahci xhci_pci glue_helper r8125(OE) libahci xhci_pci_renesas i2c_piix4 wmi
[Sun Dec 19 05:49:03 2021] CPU: 13 PID: 28585 Comm: systemd-udevd Tainted: P           OE     5.11.0-43-generic #47~20.04.2-Ubuntu
[Sun Dec 19 05:49:03 2021] Hardware name: ASUS System Product Name/ROG CROSSHAIR VIII HERO (WI-FI), BIOS 3801 07/30/2021
[Sun Dec 19 05:49:03 2021] RIP: 0010:usb_hcd_map_urb_for_dma+0x303/0x4b0
[Sun Dec 19 05:49:03 2021] Code: 39 c1 73 5d 80 3d e5 a3 67 01 00 41 be f5 ff ff ff 0f 85 45 ff ff ff 48 c7 c7 15 3e 86 88 c6 05 cb a3 67 01 01 e8 53 f3 2f 00 <0f> 0b 41 8b 54 24 5c e9 26 ff ff ff 41 89 44 24 78 41 8b 54 24 5c
[Sun Dec 19 05:49:03 2021] RSP: 0018:ffffb1b14144f830 EFLAGS: 00010286
[Sun Dec 19 05:49:03 2021] RAX: 0000000000000000 RBX: 0000000000000c00 RCX: 0000000000000027
[Sun Dec 19 05:49:03 2021] RDX: 0000000000000027 RSI: 00000000ffffdfff RDI: ffff8f16ced58ac8
[Sun Dec 19 05:49:03 2021] RBP: ffffb1b14144f868 R08: ffff8f16ced58ac0 R09: ffffb1b14144f5f0
[Sun Dec 19 05:49:03 2021] R10: 0000000000000001 R11: 0000000000000001 R12: ffff8f0fce24ed80
[Sun Dec 19 05:49:03 2021] R13: ffff8f0fde262000 R14: 00000000fffffff5 R15: 0000000000000002
[Sun Dec 19 05:49:03 2021] FS:  00007f9567185880(0000) GS:ffff8f16ced40000(0000) knlGS:0000000000000000
[Sun Dec 19 05:49:03 2021] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[Sun Dec 19 05:49:03 2021] CR2: 00007f04b5e34870 CR3: 000000011fd80000 CR4: 0000000000350ee0
[Sun Dec 19 05:49:03 2021] Call Trace:
[Sun Dec 19 05:49:03 2021]  xhci_map_urb_for_dma+0x14c/0x2a0
[Sun Dec 19 05:49:03 2021]  ? vprintk_emit+0x120/0x240
[Sun Dec 19 05:49:03 2021]  usb_hcd_submit_urb+0x84/0x2e0
[Sun Dec 19 05:49:03 2021]  usb_submit_urb+0x1e2/0x5e0
[Sun Dec 19 05:49:03 2021]  usb_start_wait_urb+0x71/0x180
[Sun Dec 19 05:49:03 2021]  usb_control_msg+0xe3/0x140
[Sun Dec 19 05:49:03 2021]  ? _cond_resched+0x19/0x30
[Sun Dec 19 05:49:03 2021]  ch34x_attach+0x1ad/0x270 [ch34x]
[Sun Dec 19 05:49:03 2021]  ? usb_serial_probe.cold+0x7c2/0xa75 [usbserial]
[Sun Dec 19 05:49:03 2021]  usb_serial_probe.cold+0x700/0xa75 [usbserial]
[Sun Dec 19 05:49:03 2021]  usb_probe_interface+0xed/0x290
[Sun Dec 19 05:49:03 2021]  really_probe+0x357/0x460
[Sun Dec 19 05:49:03 2021]  driver_probe_device+0xe9/0x160
[Sun Dec 19 05:49:03 2021]  device_driver_attach+0x5d/0x70
[Sun Dec 19 05:49:03 2021]  __driver_attach+0x8f/0x150
[Sun Dec 19 05:49:03 2021]  ? device_driver_attach+0x70/0x70
[Sun Dec 19 05:49:03 2021]  bus_for_each_dev+0x7e/0xc0
[Sun Dec 19 05:49:03 2021]  driver_attach+0x1e/0x20
[Sun Dec 19 05:49:03 2021]  usb_serial_register_drivers+0x416/0x450 [usbserial]
[Sun Dec 19 05:49:03 2021]  ? 0xffffffffc281d000
[Sun Dec 19 05:49:03 2021]  ch34x_init+0x23/0x1000 [ch34x]
[Sun Dec 19 05:49:03 2021] asus_wmi: Initialization: 0x0
[Sun Dec 19 05:49:03 2021]  do_one_initcall+0x48/0x1d0
[Sun Dec 19 05:49:03 2021]  ? _cond_resched+0x19/0x30
[Sun Dec 19 05:49:03 2021]  ? kmem_cache_alloc_trace+0x37a/0x430
[Sun Dec 19 05:49:03 2021]  ? do_init_module+0x28/0x260
[Sun Dec 19 05:49:03 2021]  do_init_module+0x62/0x260
[Sun Dec 19 05:49:03 2021]  load_module+0x11aa/0x1370
[Sun Dec 19 05:49:03 2021]  ? security_kernel_post_read_file+0x5c/0x70
[Sun Dec 19 05:49:03 2021]  ? security_kernel_post_read_file+0x5c/0x70
[Sun Dec 19 05:49:03 2021]  __do_sys_finit_module+0xc2/0x120
[Sun Dec 19 05:49:03 2021]  ? __do_sys_finit_module+0xc2/0x120
[Sun Dec 19 05:49:03 2021]  __x64_sys_finit_module+0x1a/0x20
[Sun Dec 19 05:49:03 2021]  do_syscall_64+0x38/0x90
[Sun Dec 19 05:49:03 2021]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[Sun Dec 19 05:49:03 2021] RIP: 0033:0x7f956770789d
[Sun Dec 19 05:49:03 2021] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d c3 f5 0c 00 f7 d8 64 89 01 48
[Sun Dec 19 05:49:03 2021] RSP: 002b:00007ffcdc3295b8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
[Sun Dec 19 05:49:03 2021] RAX: ffffffffffffffda RBX: 000055b07a5ca410 RCX: 00007f956770789d
[Sun Dec 19 05:49:03 2021] RDX: 0000000000000000 RSI: 00007f95675e4ded RDI: 000000000000000f
[Sun Dec 19 05:49:03 2021] RBP: 0000000000020000 R08: 0000000000000000 R09: 0000000000000000
[Sun Dec 19 05:49:03 2021] R10: 000000000000000f R11: 0000000000000246 R12: 00007f95675e4ded
[Sun Dec 19 05:49:03 2021] R13: 0000000000000000 R14: 000055b07a5c9ee0 R15: 000055b07a5ca410
[Sun Dec 19 05:49:03 2021] ---[ end trace e8507a8c15c7f9b2 ]---

Is this a combination of this driver and the asus_wmi module?

Edit: No, this also happens when asus_wmi is not loaded.

Segmentation Fault when accessing the tty device after load

After adding my device's vendor and produt IDs to C file, I did make and make load, I can see in dmesg that it loads and that my device is attached to ttyUSB0, but when I try to access it with sudo stty -a -F /dev/ttyUSB0 it fails with segmentation fault or nothing, infinite loop, cannot even CTRL+C when it happens.
And then in my dmesg it shows:

[ 131.126796] usb 1-1.4: ch34x converter now attached to ttyUSB0
[ 179.118063] Unable to handle kernel access to user memory outside uaccess routines at virtual address 0000000000000040
[ 179.129103] Mem abort info:
[ 179.132058] ESR = 0x0000000096000044
[ 179.135880] EC = 0x25: DABT (current EL), IL = 32 bits
[ 179.141359] SET = 0, FnV = 0
[ 179.144528] EA = 0, S1PTW = 0
[ 179.147723] FSC = 0x04: level 0 translation fault
[ 179.152677] Data abort info:
[ 179.155602] ISV = 0, ISS = 0x00000044
[ 179.159497] CM = 0, WnR = 1
[ 179.162512] user pgtable: 4k pages, 48-bit VAs, pgdp=00000000440ff000
[ 179.169054] [0000000000000040] pgd=0000000000000000, p4d=0000000000000000
[ 179.175980] Internal error: Oops: 96000044 [#1] PREEMPT SMP
[ 179.181636] Modules linked in: ch34x(OE) usbserial cmac algif_hash algif_skcipher af_alg bnep hci_uart btqca btrtl btbcm btintel xt_conntrack nft_chain_nat xt_MASQUERADE nf_nat nf_conntrack_netlink nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nft_counter xt_addrtype nft_compat nf_tables nfnetlink br_netfilter bridge stp llc overlay binfmt_misc btsdio bluetooth ecdh_generic ecc brcmfmac bcm2835_isp(CE) bcm2835_codec(CE) bcm2835_v4l2(CE) brcmutil v4l2_mem2mem bcm2835_mmal_vchiq(CE) videobuf2_vmalloc videobuf2_dma_contig cfg80211 videobuf2_memops snd_bcm2835(CE) videobuf2_v4l2 raspberrypi_hwmon snd_pcm videobuf2_common snd_timer snd videodev bcm2835_gpiomem vc_sm_cma(CE) nvmem_rmem mc rpivid_mem uio_pdrv_genirq uio sch_fq_codel dm_multipath ramoops reed_solomon drm pstore_blk pstore_zone ip_tables x_tables autofs4 btrfs blake2b_generic zstd_compress raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor xor_neon raid6_pq libcrc32c raid1 raid0 multipath linear spidev
[ 179.181822] dwc2 roles i2c_bcm2835 udc_core crct10dif_ce spi_bcm2835 xhci_pci xhci_pci_renesas phy_generic aes_arm64
[ 179.281032] CPU: 2 PID: 2119 Comm: stty Tainted: G WC OE 5.15.0-1041-raspi #44-Ubuntu
[ 179.289947] Hardware name: Raspberry Pi 4 Model B Rev 1.1 (DT)
[ 179.295860] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)

Device not recognized

Hello guys,

i have a xsens mti 670 gnss ins on a mti g 600 dk board. I use its rs232 portal and connect to my khadas vim 4(using ubuntu 20.04) usb (rs232-to-usb cable). When im trying to run the device i have an error which says Mti device not found. I tried #6 solution and it worked, temporally. After a few days i have , still, the same problem. Device not found.

khadas@Khadas:~/catkin_ws$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 039: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 001 Device 054: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 001 Device 055: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 001 Device 053: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

using khadas@Khadas:~$_ dmesg
[16467.661635] usb 1-1.1.1: Product: USB Serial
[16467.662573] ch34x 1-1.1.1:1.0: ch34x converter detected
[16467.663231] usb 1-1.1.1: ch34x converter now attached to ttyUSB1

[16468.749890] logitech-hidpp-device 0003:046D:4022.0028: HID++ 2.0 device connected.
[16470.079909] logitech-hidpp-device 0003:046D:4023.0027: HID++ 2.0 device connected.

when i connect device with micro usb cable it get recognized normally and it recognizes it as Xsens device.

These lines confirm that ch341 is installed and working properly?

[16467.661635] usb 1-1.1.1: Product: USB Serial
[16467.662573] ch34x 1-1.1.1:1.0: ch34x converter detected
[16467.663231] usb 1-1.1.1: ch34x converter now attached to ttyUSB1

Any help would be appreciated!!
Thanks in advance.

Failing to compile on Arch Linux (with temporary solution)

Hey, the driver does not seem to compile anymore since 45074ab for me.
Errors:

/home/tomg/Desktop/CH341SER/ch34x.c:1292:27: error: initialization of ‘unsigned int (*)(struct tty_struct *)’ from incompatible pointer type ‘int (*)(struct tty_struct *)’ [-Werror=incompatible-pointer-types]
 1292 |         .write_room     = ch34x_write_room,
      |                           ^~~~~~~~~~~~~~~~
/home/tomg/Desktop/CH341SER/ch34x.c:1292:27: note: (near initialization for ‘ch34x_device.write_room’)
/home/tomg/Desktop/CH341SER/ch34x.c:1293:28: error: initialization of ‘unsigned int (*)(struct tty_struct *)’ from incompatible pointer type ‘int (*)(struct tty_struct *)’ [-Werror=incompatible-pointer-types]
 1293 |         .chars_in_buffer = ch34x_chars_in_buffer,
      |                            ^~~~~~~~~~~~~~~~~~~~~
/home/tomg/Desktop/CH341SER/ch34x.c:1293:28: note: (near initialization for ‘ch34x_device.chars_in_buffer’)

Reverting the change from 45074ab suggested in #14 by changing the type of ch34x_write_room and ch34x_chars_in_buffer back to unsigned int instead of int seems to resolve the issue for me for now.

Arch Linux, Kernel: 5.14.14-zen1-1-zen
(All packages up to date and rebooted)

Build failed on kernel 5.14.21

Hello,
how to fix this?
Thanks
Opensuse 15.4 x86_64
uname -r
5.14.21-150400.24.46-default

make
make -C /lib/modules/5.14.21-150400.24.46-default/build  M=/tmp/CH341SER 
make[1]: вход в каталог «/usr/src/linux-5.14.21-150400.24.46-obj/x86_64/default»
  CC [M]  /tmp/CH341SER/ch34x.o
/tmp/CH341SER/ch34x.c:1304:20: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
  .write_room     = ch34x_write_room,
                    ^~~~~~~~~~~~~~~~
/tmp/CH341SER/ch34x.c:1304:20: note: (near initialization for ‘ch34x_device.write_room’)
/tmp/CH341SER/ch34x.c:1305:21: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
  .chars_in_buffer = ch34x_chars_in_buffer,
                     ^~~~~~~~~~~~~~~~~~~~~
/tmp/CH341SER/ch34x.c:1305:21: note: (near initialization for ‘ch34x_device.chars_in_buffer’)
cc1: some warnings being treated as errors

Showing that make[1]: *** No targets specified and no makefile found.

make -C /lib/modules/4.19.6-1-MANJARO/build M=/home/akr/Downloads/CH341SER-master
make[1]: Entering directory '/usr/lib/modules/4.19.6-1-MANJARO/build'
make[1]: *** No targets specified and no makefile found. Stop.
make[1]: Leaving directory '/usr/lib/modules/4.19.6-1-MANJARO/build'
make: *** [Makefile:7: default] Error 2

OS:- Manjaor linux
Linux Kernel 4.19.6-1 LTS

Unable to compile -Arch Linux

I ran into an issue where I was unable to compile the driver following the instructions presented here.

Navigating into the repo directory and running make:

make
make -C /lib/modules/5.15.6-arch2-1/build M=/home/user/CH341SER
make[1]: *** /lib/modules/5.15.6-arch2-1/build: No such file or directory. Stop.
make: *** [Makefile:7: default] Error 2

I then created the directory with:
sudo mkdir /lib/modules/5.15.6-arch2-1/build

Re-running make generates:
make
make -C /lib/modules/5.15.6-arch2-1/build M=/home/user/CH341SER
make[1]: Entering directory '/usr/lib/modules/5.15.6-arch2-1/build'
make[1]: *** No targets specified and no makefile found. Stop.
make[1]: Leaving directory '/usr/lib/modules/5.15.6-arch2-1/build'
make: *** [Makefile:7: default] Error 2

I then found that a reddit post that indicated that the linux-headers package needs to be installed: https://www.reddit.com/r/archlinux/comments/8j53dq/comment/dyx43om/?utm_source=share&utm_medium=web2x&context=3

sudo pacman -S linux-headers

I was then finally able to compile the driver.

It may make the installation easier to provide a list of dependencies for building the driver.

fails to compile on raspberry pi 4 raspberry os 64 bit

root@raspberrypi:/home/pi/Downloads/CH341SER# make
make -C /lib/modules/5.4.51-v8+/build M=/home/pi/Downloads/CH341SER
make[1]: Entering directory '/root/linux-f2f7e4b23d8788e96f81a7522b2f703e51c53e70'
Building modules, stage 2.
MODPOST 1 modules
ERROR: "_mcount" [/home/pi/Downloads/CH341SER/ch34x.ko] undefined!
make[2]: *** [scripts/Makefile.modpost:94: __modpost] Error 1
make[1]: *** [Makefile:1622: modules] Error 2
make[1]: Leaving directory '/root/linux-f2f7e4b23d8788e96f81a7522b2f703e51c53e70'
make: *** [Makefile:7: default] Error 2
root@raspberrypi:/home/pi/Downloads/CH341SER# uname -a
Linux raspberrypi 5.4.51-v8+ #1333 SMP PREEMPT Mon Aug 10 16:58:35 BST 2020 aarch64 GNU/Linux
root@raspberrypi:/home/pi/Downloads/CH341SER# gcc --version
gcc (Debian 8.3.0-6) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

incompatible-pointer-types error near ch34x_device.set_termios

Build log:

DKMS make.log for ch34x-r62.e70c14c for kernel 6.1.8-artix1-1 (x86_64)
Сб 04 фев 2023 16:49:11 IST
make: Entering directory '/usr/lib/modules/6.1.8-artix1-1/build'
  CC [M]  /var/lib/dkms/ch34x/r62.e70c14c/build/ch34x.o
/var/lib/dkms/ch34x/r62.e70c14c/build/ch34x.c:1294:27: error: initialization of ‘void (*)(struct tty_struct *, struct usb_serial_port *, const struct ktermios *)’ from incompatible pointer type ‘void (*)(struct tty_struct *, struct usb_serial_port *, struct ktermios *)’ [-Werror=incompatible-pointer-types]
 1294 |         .set_termios    = ch34x_set_termios,
      |                           ^~~~~~~~~~~~~~~~~
/var/lib/dkms/ch34x/r62.e70c14c/build/ch34x.c:1294:27: note: (near initialization for ‘ch34x_device.set_termios’)
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:250: /var/lib/dkms/ch34x/r62.e70c14c/build/ch34x.o] Error 1
make: *** [Makefile:1992: /var/lib/dkms/ch34x/r62.e70c14c/build] Error 2
make: Leaving directory '/usr/lib/modules/6.1.8-artix1-1/build'

Yay (installer) log:

Building module:
Cleaning build area...
make -j6 KERNELRELEASE=6.1.8-artix1-1 -C /usr/lib/modules/6.1.8-artix1-1/build M=/var/lib/dkms/ch34x/r62.e70c14c/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.1.8-artix1-1 (x86_64)
Consult /var/lib/dkms/ch34x/r62.e70c14c/build/make.log for more information.
error: command failed to execute correctly
:: Running post-transaction hooks...
(1/1) Install DKMS modules
==> dkms install --no-depmod ch34x/r62.e70c14c -k 6.1.8-artix1-1
Error! Bad return status for module build on kernel: 6.1.8-artix1-1 (x86_64)
Consult /var/lib/dkms/ch34x/r62.e70c14c/build/make.log for more information.
==> WARNING: `dkms install --no-depmod ch34x/r62.e70c14c -k 6.1.8-artix1-1' exited 10

initialization of ‘unsigned int - Werror=incompatible-pointer-types

When running the make command, I came across the following errors:

error: initialization of ‘unsigned int (*)(struct tty_struct )’ from incompatible pointer type ‘int ()(struct tty_struct )’ [-Werror=incompatible-pointer-types]
1304 | .write_room = ch34x_write_room,
| ^~~~~~~~~~~~~~~~
/home/ti/Downloads/CH341SER-master/ch34x.c:1304:20: note: (near initialization for ‘ch34x_device.write_room’)
/home/ti/Downloads/CH341SER-master/ch34x.c:1305:21: error: initialization of ‘unsigned int (
)(struct tty_struct )’ from incompatible pointer type ‘int ()(struct tty_struct *)’ [-Werror=incompatible-pointer-types]
1305 | .chars_in_buffer = ch34x_chars_in_buffer,
| ^~~~~~~~~~~~~~~~~~~~~
/home/ti/Downloads/CH341SER-master/ch34x.c:1305:21: note: (near initialization for ‘ch34x_device.chars_in_buffer’)
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:297: /home/ti/Downloads/CH341SER-master/ch34x.o] Erro 1
make[1]: *** [Makefile:1906: /home/ti/Downloads/CH341SER-master] Erro 2
make[1]: Saindo do diretório '/usr/src/linux-headers-5.15.0-69-generic'
make: *** [Makefile:7: default] Erro 2

Build failed on PopOS 22.04

Description

When I run make on my machine (PopOS 22.04), it build failed.

Logs

➜  CH341SER git:(ubuntu) ✗ sudo make
make -C /lib/modules/6.0.12-76060006-generic/build  M=/home/nguyenhieu/Desktop/CH341SER 
make[1]: Entering directory '/usr/src/linux-headers-6.0.12-76060006-generic'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-11 (Ubuntu 11.2.0-19ubuntu1) 11.2.0
  You are using:           gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
  CC [M]  /home/nguyenhieu/Desktop/CH341SER/ch34x.o
/home/nguyenhieu/Desktop/CH341SER/ch34x.c:1298:27: error: initialization of ‘void (*)(struct tty_struct *, struct usb_serial_port *, struct ktermios *)’ from incompatible pointer type ‘void (*)(struct tty_struct *, struct usb_serial_port *, const struct ktermios *)’ [-Werror=incompatible-pointer-types]
 1298 |         .set_termios    = ch34x_set_termios,
      |                           ^~~~~~~~~~~~~~~~~
/home/nguyenhieu/Desktop/CH341SER/ch34x.c:1298:27: note: (near initialization for ‘ch34x_device.set_termios’)
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:249: /home/nguyenhieu/Desktop/CH341SER/ch34x.o] Error 1
make[1]: *** [Makefile:1852: /home/nguyenhieu/Desktop/CH341SER] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.0.12-76060006-generic'
make: *** [Makefile:7: default] Error 2

How to fix (note for other guys)

I checkout to this commit: e70c14c

Then I can build successfully.

Thank you for your work.

Failed to Compile on Ubuntu 16.04 LTS

~/Downloads/CH341SER-master$ sudo make
make -C /lib/modules/4.15.0-142-generic/build  M=/home/simon/Downloads/CH341SER-master 
make[1]: Entering directory '/usr/src/linux-headers-4.15.0-142-generic'
  CC [M]  /home/simon/Downloads/CH341SER-master/ch34x.o
/home/simon/Downloads/CH341SER-master/ch34x.c:1292:20: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
  .write_room     = ch34x_write_room,
                    ^
/home/simon/Downloads/CH341SER-master/ch34x.c:1292:20: note: (near initialization for ‘ch34x_device.write_room’)
/home/simon/Downloads/CH341SER-master/ch34x.c:1293:21: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
  .chars_in_buffer = ch34x_chars_in_buffer,
                     ^
/home/simon/Downloads/CH341SER-master/ch34x.c:1293:21: note: (near initialization for ‘ch34x_device.chars_in_buffer’)
cc1: some warnings being treated as errors
scripts/Makefile.build:337: recipe for target '/home/simon/Downloads/CH341SER-master/ch34x.o' failed
make[2]: *** [/home/simon/Downloads/CH341SER-master/ch34x.o] Error 1
Makefile:1584: recipe for target '_module_/home/simon/Downloads/CH341SER-master' failed
make[1]: *** [_module_/home/simon/Downloads/CH341SER-master] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-142-generic'
Makefile:7: recipe for target 'default' failed
make: *** [default] Error 2
simon@ubuntu:~/Downloads/CH341SER-master$

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.