- Tested with I2C-Tiny-USB commit
0a8fa3d
. Verified working on Raspberry Pi 3+4. Further test on different devices appreciated. - Digispark used with
RESETDSBL = 0
(see Notes below). Fuses: H:0x5d, L:0xe1, E:0xfe. - All USB devices directly connected to the Raspberry Pi.
- Apply with
patch -l < ...
.
- The Digispark bootloader has been altered to switch into programming mode when PB5 is set to Gnd (Fuse:
RESETDSBL =0
) insttead of waiting ~3 seconds in programming mode. This repo contains the files needed for the change. (In a nutshell: Enable this line, prepare the "trampolin" with the new bootloader, use an external programmer to set the fuses). - For Raspberry Pi 4 only: If you use the I2C-Tiny-USB Digispark on a USB2 port and another USB2 device on a Pi USB3 port this patch does not work. I did not investigate the root cause. Just avoid such combination! All other combinations between Digispark/USB2/USB3 devices worked well and the I2C device showed up automagically after cold boot and warm boot of the Raspberry.
Raspbian Debian Buster 10.6: Kernel 5.4.72-v7+
Raspbian Debian Buster 10.8: Kernel 5.10.11-v7l+
Firmware:
# rpi-eeprom-update
BCM2711 detected
Dedicated VL805 EEPROM detected
Checking for updates in /lib/firmware/raspberrypi/bootloader/default
Use raspi-config to select either the default-production release or latest update.
BOOTLOADER: up-to-date
CURRENT: Thu 3 Sep 12:11:43 UTC 2020 (1599135103)
LATEST: Thu 3 Sep 12:11:43 UTC 2020 (1599135103)
RELEASE: default
VL805: up-to-date
CURRENT: 000138a1
LATEST: 000138a1