net4me.net

Linux технологии, сети и электроника

Электронка, гаджеты, прошивки, мануалы, схемы

Раздел электроники. гаджет, прошивка, мануал, схема и т.д.
В этот раздел будут попадать разборки с железками, их разработка, проектирование, пайка, прошивка и т.д.
А так же всё, что сопутствует пайке, прошивке и вообще созданию девайсов.

Linux tips

Pinecil от Pine64 прошивка в ubuntu linux

Вступление

Прошивка купленного паяльника Pinecil от Pine64.
И под рукой ноут с ubuntu (точнее linuxmint но это не суть).
Документация и на Pine64 wiki и во всех проектах github-а достаточно подробная, поэтому приведу свой личный опыт прошивки, особо не вдаваясь в подробности.

Прочитал инструкции, скачал свежие прошивки, установил dfu-util:
apt install dfu-util

Зажал минус, воткнул type-c кабель. И...

1. Пришлось настроить udev правила:

# vi /etc/udev/rules.d/50-pinecil.rules 

# 
# 	Edit by 4eburashk http://csn.net4me.net
# 		On Wed 16 Mar 2022 12:16:12 AM MSK
#
# 	PineCil правила для прошивки паяльника.
#

SUBSYSTEM=="usb", ATTRS{idVendor}=="28e9", ATTRS{idProduct}=="0189", GROUP="plugdev", MODE:="0666"
SUBSYSTEM=="usb_device", ATTRS{idVendor}=="28e9", ATTRS{idProduct}=="0189",GROUP="plugdev",MODE:="0666"

# END 
перечитать udev правила
udevadm control --reload
конечно, мой юзер есть в группе plugdev

2. Обнаружение usb устройства.

lsusb
Зажал минус, воткнул, подождал, отпустил кнопку, полез смотреть девайсы:
$ lsusb 
Bus 001 Device 006: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 008: ID 28e9:0189  
Bus 001 Device 007: ID 04ca:300b Lite-On Technology Corp. Atheros AR3012 Bluetooth
Ага. пявилось нечто странное безымянное.

тут можно проверить, что права на чтение/запись в устройство ll /dev/bus/usb/Bus/Device есть:
ll /dev/bus/usb/001/008
crw-rw-rw- ......
у меня они есть. Я их 666 в udev задавал и они применились.

3. Прошивка и dfu-utils


$ dfu-util -D Pinecil_multi_compressed_Bulgarian+Russian+Serbian+Ukrainian.dfu
...
dfu-util: More than one DFU capable USB device found! Try `--list' and specify the serial number or disconnect all but one device

$ dfu-util -l
...
Found DFU: [28e9:0189] ver=0100, devnum=8, cfg=1, intf=0, path="1-5.2", alt=1, name="@Option Bytes  /0x1FFFF800/01*016Be", serial="??"
Found DFU: [28e9:0189] ver=0100, devnum=8, cfg=1, intf=0, path="1-5.2", alt=0, name="@Internal Flash  /0x08000000/128*001Kg", serial="??"
Их действительно два. Нужен тот, что "Internal Flash", где alt=0

$ dfu-util -D Pinecil_multi_compressed_Bulgarian+Russian+Serbian+Ukrainian.dfu -a 0
...
Match vendor ID from file: 28e9
Match product ID from file: 0189
Opening DFU capable USB device...
ID 28e9:0189
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash  "
file contains 1 DFU images
parsing DFU image 1
image for alternate setting 0, (1 elements, total size = 66792)
parsing element 1, address = 0x08000000, size = 66784
Download	[=========================] 100%        66784 bytes
Download done.
done parsing DfuSe file

Можно смело выдёргивать кабель и пользоваться свежей прошивкой.
Доков пришлось почитать, но особых "танцев с бубнами" не было.

Pine64 Pinecil прошивка linux
Паяльник работает. Сразу стало ясно, что для работы через type-c нужны хорошие мощные usb кабели и нормальный PD импульсник.
Благо у меня такого много.