diff options
| author | Mateusz Piotrowski <mpp302@gmail.com> | 2021-05-06 01:26:50 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-06 09:26:50 +1000 |
| commit | 38b9f67c3b874ff33383ec2eb18aba58e4e9dfa1 (patch) | |
| tree | f1a8aa3ab241c52dec7cfd461df7e82d8ca5d852 /tmk_core | |
| parent | c6778dde825d6e7eeb63b51e12fc23baa02188ba (diff) | |
| download | qmk_firmware-38b9f67c3b874ff33383ec2eb18aba58e4e9dfa1.tar.gz qmk_firmware-38b9f67c3b874ff33383ec2eb18aba58e4e9dfa1.zip | |
Fix qmk flash on FreeBSD (#12085)
When the USB device is connected, FreeBSD creates not one, but three
device nodes in /dev, e.g.: /dev/ttyU0, /dev/ttyU0.init, and
/dev/ttyU0.lock.
As a result, this leads to the USB variable containing 3 paths
(and therefore, whitespace) and messages like this one:
Device /dev/ttyU0
/dev/ttyU0.init
/dev/ttyU0.lock has appeared; assuming it is the controller.
This changes fixes the use of the -z flag of "[" (see test(1)). Also, it
removes undesired paths from the USB variable, leaving only
one path there (i.e., "/dev/ttyU0").
Diffstat (limited to 'tmk_core')
| -rw-r--r-- | tmk_core/avr.mk | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/tmk_core/avr.mk b/tmk_core/avr.mk index c1d3f6b39..2bc7cc955 100644 --- a/tmk_core/avr.mk +++ b/tmk_core/avr.mk | |||
| @@ -160,6 +160,8 @@ define EXEC_AVRDUDE | |||
| 160 | list_devices() { \ | 160 | list_devices() { \ |
| 161 | if $(GREP) -q -s icrosoft /proc/version; then \ | 161 | if $(GREP) -q -s icrosoft /proc/version; then \ |
| 162 | wmic.exe path Win32_SerialPort get DeviceID 2>/dev/null | LANG=C perl -pne 's/COM(\d+)/COM.($$1-1)/e' | sed 's!COM!/dev/ttyS!' | xargs echo -n | sort; \ | 162 | wmic.exe path Win32_SerialPort get DeviceID 2>/dev/null | LANG=C perl -pne 's/COM(\d+)/COM.($$1-1)/e' | sed 's!COM!/dev/ttyS!' | xargs echo -n | sort; \ |
| 163 | elif [ "`uname`" = "FreeBSD" ]; then \ | ||
| 164 | ls /dev/tty* | grep -v '\.lock$$' | grep -v '\.init$$'; \ | ||
| 163 | else \ | 165 | else \ |
| 164 | ls /dev/tty*; \ | 166 | ls /dev/tty*; \ |
| 165 | fi; \ | 167 | fi; \ |
| @@ -169,7 +171,7 @@ define EXEC_AVRDUDE | |||
| 169 | TMP1=`mktemp`; \ | 171 | TMP1=`mktemp`; \ |
| 170 | TMP2=`mktemp`; \ | 172 | TMP2=`mktemp`; \ |
| 171 | list_devices > $$TMP1; \ | 173 | list_devices > $$TMP1; \ |
| 172 | while [ -z $$USB ]; do \ | 174 | while [ -z "$$USB" ]; do \ |
| 173 | sleep 0.5; \ | 175 | sleep 0.5; \ |
| 174 | printf "."; \ | 176 | printf "."; \ |
| 175 | list_devices > $$TMP2; \ | 177 | list_devices > $$TMP2; \ |
