Страница 3 из 4
Работа с програматором ch341 в LM 19.3
Добавлено: 24 апр 2020, 12:14
WWolf
Uasya писал(а): ↑24 апр 2020, 11:59
микрухи больше 24с64 не берет
открой файл ch341eeprom.h, поправь что надо и пересобери исполняемый
Код: Выделить всё
const static struct EEPROM eepromlist[] = {
//{ "24c01", 128 }, // 1kbit = 128 bits
//{ "24c02", 256 },
//{ "24c04", 512 },
//{ "24c08", 1024 },
//{ "24c16", 2048 },
{ "24c32", 4096 }, // 32kbit = 4kbyte
{ "24c64", 8192 },
//{ "24c128", 16384 },
//{ "24c256", 32768 },
//{ "24c512", 65536 },
//{ "24c1024", 131072},
{ 0, 0}
};
Работа с програматором ch341 в LM 19.3
Добавлено: 24 апр 2020, 12:26
Uasya
WWolf писал(а): ↑24 апр 2020, 12:09
покажи ls /dev
хоть с подключеным, хоть нет, разницы никакой.
ls /usb
dexx@dexx-desktop:~$ ls /dev
autofs input sda1 tty27 tty62 uhid
block kfd sdb tty28 tty63 uinput
bsg kmsg sdb1 tty29 tty7 urandom
btrfs-control kvm sdc tty3 tty8 userio
bus lightnvm sdc1 tty30 tty9 v4l
char lirc0 sdd tty31 ttyprintk vbi0
console log sdd1 tty32 ttyS0 vcs
core loop0 sdd2 tty33 ttyS1 vcs1
cpu loop1 sg0 tty34 ttyS10 vcs2
cpu_dma_latency loop2 sg1 tty35 ttyS11 vcs3
cuse loop3 sg2 tty36 ttyS12 vcs4
disk loop4 sg3 tty37 ttyS13 vcs5
dm-0 loop5 shm tty38 ttyS14 vcs6
dm-1 loop6 snapshot tty39 ttyS15 vcs7
dri loop7 snd tty4 ttyS16 vcsa
ecryptfs loop-control stderr tty40 ttyS17 vcsa1
fb0 mapper stdin tty41 ttyS18 vcsa2
fd mcelog stdout tty42 ttyS19 vcsa3
full media0 tty tty43 ttyS2 vcsa4
fuse mem tty0 tty44 ttyS20 vcsa5
hidraw0 memory_bandwidth tty1 tty45 ttyS21 vcsa6
hpet mint-vg tty10 tty46 ttyS22 vcsa7
hugepages mqueue tty11 tty47 ttyS23 vcsu
hwrng net tty12 tty48 ttyS24 vcsu1
i2c-0 network_latency tty13 tty49 ttyS25 vcsu2
i2c-1 network_throughput tty14 tty5 ttyS26 vcsu3
i2c-10 null tty15 tty50 ttyS27 vcsu4
i2c-11 nvram tty16 tty51 ttyS28 vcsu5
i2c-12 port tty17 tty52 ttyS29 vcsu6
i2c-13 ppp tty18 tty53 ttyS3 vcsu7
i2c-2 psaux tty19 tty54 ttyS30 vfio
i2c-3 ptmx tty2 tty55 ttyS31 vga_arbiter
i2c-4 pts tty20 tty56 ttyS4 vhci
i2c-5 radio0 tty21 tty57 ttyS5 vhost-net
i2c-6 random tty22 tty58 ttyS6 vhost-vsock
i2c-7 rfkill tty23 tty59 ttyS7 video0
i2c-8 rtc tty24 tty6 ttyS8 zero
i2c-9 rtc0 tty25 tty60 ttyS9 zfs
initctl sda tty26 tty61 udmabuf
dexx@dexx-desktop:~$
Работа с програматором ch341 в LM 19.3
Добавлено: 24 апр 2020, 13:07
WWolf
Uasya, так, ну человек с работы забрал сей программатор, так что с пробросом в вайн смогу помочь только когда физически получу доступ к нему... а то не понятно какой интерфейс он создаёт в системе и через что с ним общаться...
а пока пользуйся консольной прогой, понятно что не удобно и много лишних телодвижений, но пока так...
Работа с програматором ch341 в LM 19.3
Добавлено: 24 апр 2020, 13:15
Uasya
WWolf,
Да без проблем. Не горит. Пока на винде продолжу гонять, попутно дома пытаться завести эту чудо железяку на минте.
Спасибо всем огромное за ответы и участие!
Работа с програматором ch341 в LM 19.3
Добавлено: 24 апр 2020, 13:36
WWolf
Uasya писал(а): ↑24 апр 2020, 13:15
попутно дома пытаться завести эту чудо железяку на минте
скорей всего для проброса в вайн надо сделать что-то по подобию как с usbasp делается
Программатор USBASP (Пост WWolf #45713)
то есть симлинк что б делался и этот симлинк уже пробрасывать в вайн как lpt порт, ну и без танцев с дровами lp и ppdev явно не обойдётся...
тяжко без физической железки понять что там не так происходит
Работа с програматором ch341 в LM 19.3
Добавлено: 24 апр 2020, 13:57
Uasya
УРААА!!! Есть подвижки друзья!
пропатчил способом с этого
https://blog.xentoo.info/2015/12/31/ubu ... from-ebay/
$ sudo apt-get source linux-source-3.13.0 linux-headers-$(uname -r)
$ cd /tmp
$ tar -xjf /usr/src/linux-source-3.13.0.tar.bz2
$ cd linux-source-3.13.0/
$ make oldconfig
$ make prepare
$ make scripts
$ cp -v /usr/src/linux-headers-$(uname -r)/Module.symvers .
$ cp /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko.orig
$ cd drivers/usb/serial
$ cp ch341.c ch341.c.orig
$ wget
https://github.com/karlp/ch341-linux/ra ... port.patch
$ cat 0001-usb-serial-ch341-Add-parity-support.patch | patch -p4
patching file ch341.c
Hunk #1 succeeded at 349 (offset 3 lines).
Hunk #2 succeeded at 370 (offset 3 lines).
$ make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
$ sudo cp ch341.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko
$ sudo rmmod ch341
$ sudo modprobe ch341
Правда сорцы пришлось ручками ставить, ибо через терминал не хотело почему то. И ругался на
Код: Выделить всё
fatal error: openssl/opensslv.h: No such file or directory
пришлось установить
sudo apt-get install libssl-dev
при
sudo modprobe ch341
ругался на что то там занятое. Перезагрузился, повторил
sudo modprobe ch341
И наконец увидел долгожданный ttyUSB0
crw-rw---- 1 root dialout 4, 71 апр 24 15:40 ttyS7
crw-rw---- 1 root dialout 4, 72 апр 24 15:40 ttyS8
crw-rw---- 1 root dialout 4, 73 апр 24 15:40 ttyS9
lrwxrwxrwx 1 root root 15 апр 24 15:42 ttyUSB0 -> bus/usb/004/007
crw------- 1 root root 10, 60 апр 24 15:40 udmabuf
crw------- 1 root root 10, 239 апр 24 15:40 uhid
crw------- 1 root root 10, 223 апр 24 15:40 uinput
crw-rw-rw- 1 root root 1, 9 апр 24 15:40 urandom
crw------- 1 root root 10, 240 апр 24 15:40 userio
drwxr-xr-x 3 root root 60 апр 24 15:40 v4l
смущают права на него. Что скажете? Небольшой перекур и продолжу грызть гранит линукса

Работа с програматором ch341 в LM 19.3
Добавлено: 24 апр 2020, 14:03
WWolf
ну отлично

теперь он пробросится в wine как com порт
главное что б программа программатора работала с ком портом в режиме прошивки епром
Работа с програматором ch341 в LM 19.3
Добавлено: 24 апр 2020, 14:29
Uasya
Симлинк в правиле обязателен. Правило у меня поменяно было. Старое без симлинка, с ним ttyUSB не создавалось. Сейчас такое:
Код: Выделить всё
# Ch341a
ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="5512", SYMLINK+="ttyUSB0"
с ним все создается.
Вопрос, парни! А как сделать чтоб файл
ttyUSB*
создавался с группой
dialout
?
Если удастся нам победить хитрую железку, при установке всего на ноут, надо будет собрать все действия в кучу, и подобие инструкции состряпать.
Работа с програматором ch341 в LM 19.3
Добавлено: 24 апр 2020, 14:36
WWolf
Uasya, GROUP="dialout"
так же через запятую
Работа с програматором ch341 в LM 19.3
Добавлено: 24 апр 2020, 15:11
rogoznik
Uasya писал(а): ↑24 апр 2020, 14:29
надо будет собрать все действия в кучу, и подобие инструкции состряпать.
можно даже скрипт состряпать

Главно чтоб ты понял какие действия точно были нужны, а какие нет, чтоб не делать лишнего, что может стать потенциальной ошибкой
Работа с програматором ch341 в LM 19.3
Добавлено: 24 апр 2020, 15:36
Uasya
WWolf писал(а): ↑24 апр 2020, 14:36
GROUP="dialout" так же через запятую
добавил, получилось в итоге:
Код: Выделить всё
# Ch341a
ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="5512", GROUP="dialout", MODE="0666", SYMLINK+="ttyUSB0"
Но в терминале все равно рут
Код: Выделить всё
dexx@dexx-desktop:~$ ls -l /dev/ttyUSB*
lrwxrwxrwx 1 root root 15 апр 24 17:32 /dev/ttyUSB0 -> bus/usb/004/003
А вот линк на wine нифига не рут
Код: Выделить всё
dexx@dexx-desktop:~$ ll ~/.wine/dosdevices/com1
lrwxrwxrwx 1 dexx dexx 12 апр 24 17:39 /home/dexx/.wine/dosdevices/com1 -> /dev/ttyUSB0
Работа с програматором ch341 в LM 19.3
Добавлено: 24 апр 2020, 15:43
WWolf
Uasya, Рут и будет, но доступ участник диалап будет иметь
Работа с програматором ch341 в LM 19.3
Добавлено: 25 апр 2020, 07:37
Uasya
Установил драйвер параллельного порта. Я по неопытности не понял сначала, что нужно файл.с обновить, под свое ядро...
В общем, обновил отсюда
https://elixir.bootlin.com/linux/v5.0. ... al/ch341.c и все установилось. Вот на всякий случай архив с обновленным файлом
https://yadi.sk/d/n1w7cXQhzo-wOw .
Обновил wine с их сайта до версии 5.0 и вот тут появилась трабла - у меня ttyUSB0 теперь садится на СОМ33. Никто не знает, как поправить на СОМ1?
P.S.
Я надеюсь, никаких правил не нарушаю, описывая тут всю хронологию действий? Просто потом, если все получится, по ней будет проще на ноут устанавливать.
Работа с програматором ch341 в LM 19.3
Добавлено: 25 апр 2020, 12:46
WWolf
Uasya, закрой всё что открыто в вайн, открой system.reg и найди эти компорты и выставь на какие надо
Работа с програматором ch341 в LM 19.3
Добавлено: 25 апр 2020, 12:49
Uasya
В том то и дело, что выставлено
Код: Выделить всё
[Software\\Wine\\Ports] 1587754244
#time=1d61a6942bbab64
"/dev/ttyS0"="COM2"
"/dev/ttyUSB0"="COM1"
Или это не то?
Работа с програматором ch341 в LM 19.3
Добавлено: 25 апр 2020, 12:56
Uasya
В общем, сдается мне, что наустанавливал\наудалял\направил всякой ерунды и из-за этого пошли траблы. Сейчас накатываю на ноут второй системой чистый минт, установлю только вайн, дрова и правило и проверю.
Работа с програматором ch341 в LM 19.3
Добавлено: 25 апр 2020, 17:01
Uasya
Продолжаем битву! Это уже стало делом принципа! Или я ее или она меня. Итак...
Почитал для понимания принцип работы программатора (так то с начала этим было необходимо заняться

), получается, что прошивка 24сХХ идет по SPI. А на него то драйверов у мня не стоит. Начал искать, нашел, при попытке установки, вылезала ошибка. На гитхабе нашел обновленный файл с пофиксеным багом, установил. Вот поправленный драйвер
spi_ch341_usb
после установки драйвера, наконец то что то внятное появилось в консоли
dmesg
Код: Выделить всё
[23778.554626] usb 4-3: new full-speed USB device number 5 using ohci-pci
[23778.743706] usb 4-3: New USB device found, idVendor=1a86, idProduct=5512, bcdDevice= 3.04
[23778.743711] usb 4-3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[23778.796675] spi-ch341-usb 4-3:1.0: ch341_cfg_probe: output cs0 SPI slave with cs=0
[23778.796679] spi-ch341-usb 4-3:1.0: ch341_cfg_probe: output cs1 SPI slave with cs=1
[23778.796682] spi-ch341-usb 4-3:1.0: ch341_cfg_probe: output cs2 SPI slave with cs=2
[23778.796685] spi-ch341-usb 4-3:1.0: ch341_cfg_probe: input gpio4 gpio=0 irq=0 (hwirq)
[23778.796689] spi-ch341-usb 4-3:1.0: ch341_cfg_probe: input gpio5 gpio=1 irq=1
[23778.796695] spi-ch341-usb 4-3:1.0: ch341_spi_probe: SPI master connected to SPI bus 0
[23778.797059] spi-ch341-usb 4-3:1.0: ch341_spi_probe: SPI device /dev/spidev0.0 created
[23778.797732] spi-ch341-usb 4-3:1.0: ch341_spi_probe: SPI device /dev/spidev0.1 created
[23778.799785] spi-ch341-usb 4-3:1.0: ch341_spi_probe: SPI device /dev/spidev0.2 created
[23778.801984] spi-ch341-usb 4-3:1.0: ch341_usb_probe: connected
[23778.802044] usbcore: registered new interface driver spi-ch341-usb
ls /dev
наконец то увидел устройства
Код: Выделить всё
dexx@dexx-desktop:~$ ls /dev/spidev*
/dev/spidev0.0
/dev/spidev0.1
/dev/spidev0.2
Собственно вопрос друзья: мне нужно эти устройства прокинуть в порты wine?
Прога кстати пока так и не видит железяку.

Но что то мне подсказывает, что я на правильном пути.
Кстати, после нескольких дней в минте, зашел сегодня в винду и...

видимо отвык

Работа с програматором ch341 в LM 19.3
Добавлено: 25 апр 2020, 17:15
Uasya
Почему то не пробрасывается.
Код: Выделить всё
Software\\Wine\\Ports] 1587823390
#time=1d61b0a40c44d4c
"/dev/spidev0.0"="COM3"
"/dev/spidev0.1"="COM4"
"/dev/spidev0.2"="COM5"
"/dev/ttyS0"="COM2"
"/dev/ttyUSB0"="COM1"
правило не создавал, а оно вона чо
Код: Выделить всё
dexx@dexx-desktop:~$ ls -l /dev/spidev*
crw-rw-rw- 1 root dialout 153, 0 апр 25 19:09 /dev/spidev0.0
crw-rw-rw- 1 root dialout 153, 1 апр 25 19:09 /dev/spidev0.1
crw-rw-rw- 1 root dialout 153, 2 апр 25 19:09 /dev/spidev0.2
Может создать правило с симлинком?
Работа с програматором ch341 в LM 19.3
Добавлено: 25 апр 2020, 20:01
WWolf
А spi и не пробросишь на сколько знаю. Так что куда-то не туда свернул
Работа с програматором ch341 в LM 19.3
Добавлено: 26 апр 2020, 07:43
Uasya
К сожалению нужен именно SPI. Завел винду, воткнул программатор:
С перемычкой определяется, как interface SPI\EPP... и никаких СОМ портов. В этом режиме видится программой.
Без перемычки определяется уже как СОМ порт, но данный режим мной не используется.
Придется остаться на винде, пока не появится возможности протащить этот интерфейс в wine (что маловероятно)
Юзать виртуалку, как вариант, конечно можно, но ноут у мня слабенький, если еще и виртуалку запустить, то смысл затеи теряется. Еще конечно можно помечтать о GUI для eproomtol, но что то мне подсказывает, что врядли это случится, по причине лютой нелюбви линуксоидов ко всяким гуям
Зато пока ковырялся с данной железякой, чуточку больше стал разбираться в линуксе.
В общем, в любом случае, огромное спасибо за помощь и подсказки всем, особенно
WWolf 
благодаря таким людям линукс становится понятнее
