aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMateusz Piotrowski <mpp302@gmail.com>2021-05-06 01:26:50 +0200
committerGitHub <noreply@github.com>2021-05-06 09:26:50 +1000
commit38b9f67c3b874ff33383ec2eb18aba58e4e9dfa1 (patch)
treef1a8aa3ab241c52dec7cfd461df7e82d8ca5d852
parentc6778dde825d6e7eeb63b51e12fc23baa02188ba (diff)
downloadqmk_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").
-rw-r--r--tmk_core/avr.mk4
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; \