msvisser / qmk_firmware

Open-source keyboard firmware for Atmel AVR and Arm USB families
https://qmk.fm
GNU General Public License v2.0
53 stars 21 forks source link

Unable to generate a build #19

Closed coliflor closed 2 years ago

coliflor commented 2 years ago

I followed the readme but the process fails at running util/qmk_install.sh

`Sorry, we don't recognize your OS. Help us by contributing support!

https://docs.qmk.fm/#/contributing --2022-04-22 14:48:44-- https://www.obdev.at/downloads/vusb/bootloadHID.2012-12-08.tar.gz Loaded CA certificate '/etc/ssl/certs/ca-certificates.crt' Resolving www.obdev.at (www.obdev.at)... 78.46.114.187 Connecting to www.obdev.at (www.obdev.at)|78.46.114.187|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://www.obdev.at/ftp/pub/Products/vusb/bootloadHID.2012-12-08.tar.gz [following] --2022-04-22 14:48:45-- https://www.obdev.at/ftp/pub/Products/vusb/bootloadHID.2012-12-08.tar.gz Reusing existing connection to www.obdev.at:443. HTTP request sent, awaiting response... 200 OK Length: 107970 (105K) [application/x-gzip] Saving to: 'STDOUT'

2022-04-22 14:48:45 (730 KB/s) - written to stdout [107970/107970]

gcc -O2 -Wall libusb-config --cflags -c usbcalls.c -o usbcalls.o /bin/sh: line 1: libusb-config: command not found In file included from usbcalls.c:19: usb-libusb.c:28:10: fatal error: usb.h: No such file or directory 28 | #include | ^~~ compilation terminated. make: * [Makefile:46: usbcalls.o] Error 1 /home/coliflor/Proyectos/test/qmk_firmware Requirement already satisfied: appdirs in /usr/lib/python3.10/site-packages (from -r /home/coliflor/Proyectos/test/qmk_firmware/util/../requirements.txt (line 3)) (1.4.4) ERROR: Exception: Traceback (most recent call last): File "/usr/lib/python3.10/site-packages/pip/_internal/cli/base_command.py", line 189, in _main status = self.run(options, args) File "/usr/lib/python3.10/site-packages/pip/_internal/cli/req_command.py", line 178, in wrapper return func(self, options, args) File "/usr/lib/python3.10/site-packages/pip/_internal/commands/install.py", line 316, in run requirement_set = resolver.resolve( File "/usr/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 121, in resolve self._result = resolver.resolve( File "/usr/lib/python3.10/site-packages/resolvelib/resolvers.py", line 454, in resolve state = resolution.resolve(requirements, max_rounds=max_rounds) File "/usr/lib/python3.10/site-packages/resolvelib/resolvers.py", line 319, in resolve name, crit = self._merge_into_criterion(r, parent=None) File "/usr/lib/python3.10/site-packages/resolvelib/resolvers.py", line 176, in _merge_into_criterion crit = Criterion.from_requirement(self._p, requirement, parent) File "/usr/lib/python3.10/site-packages/resolvelib/resolvers.py", line 83, in from_requirement if not cands: File "/usr/lib/python3.10/site-packages/resolvelib/structs.py", line 124, in bool return bool(self._sequence) File "/usr/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 99, in bool return any(self) File "/usr/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 218, in iter_index_candidates result = self._finder.find_best_candidate( File "/usr/lib/python3.10/site-packages/pip/_internal/index/package_finder.py", line 872, in find_best_candidate candidates = self.find_all_candidates(project_name) File "/usr/lib/python3.10/site-packages/pip/_internal/index/package_finder.py", line 815, in find_all_candidates package_links = self.process_project_url( File "/usr/lib/python3.10/site-packages/pip/_internal/index/package_finder.py", line 779, in process_project_url html_page = self._link_collector.fetch_page(project_url) File "/usr/lib/python3.10/site-packages/pip/_internal/index/collector.py", line 617, in fetch_page return _get_html_page(location, session=self.session) File "/usr/lib/python3.10/site-packages/pip/_internal/index/collector.py", line 429, in _get_html_page resp = _get_html_response(url, session=session) File "/usr/lib/python3.10/site-packages/pip/_internal/index/collector.py", line 126, in _get_html_response resp = session.get( File "/usr/lib/python3.10/site-packages/requests/sessions.py", line 542, in get return self.request('GET', url, *kwargs) File "/usr/lib/python3.10/site-packages/pip/_internal/network/session.py", line 424, in request return super().request(method, url, args, kwargs) File "/usr/lib/python3.10/site-packages/requests/sessions.py", line 529, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.10/site-packages/requests/sessions.py", line 687, in send r.content File "/usr/lib/python3.10/site-packages/requests/models.py", line 838, in content self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b'' File "/usr/lib/python3.10/site-packages/requests/models.py", line 760, in generate for chunk in self.raw.stream(chunk_size, decode_content=True): File "/usr/lib/python3.10/site-packages/urllib3/response.py", line 579, in stream data = self.read(amt=amt, decode_content=decode_content) File "/usr/lib/python3.10/site-packages/urllib3/response.py", line 522, in read data = self._fp.read(amt) if not fp_closed else b"" File "/home/coliflor/.local/lib/python3.10/site-packages/cachecontrol/filewrapper.py", line 96, in read self._close() File "/home/coliflor/.local/lib/python3.10/site-packages/cachecontrol/filewrapper.py", line 76, in _close self.__callback(result) File "/home/coliflor/.local/lib/python3.10/site-packages/cachecontrol/controller.py", line 329, in cache_response self.cache.set( TypeError: SafeFileCache.set() got an unexpected keyword argument 'expires'`

tempura-san commented 2 years ago

I could compile the firmware without issues by following https://github.com/msvisser/qmk_firmware/tree/anne_pro/keyboards/anne_pro (being on Linux Mint).

git clone https://github.com/msvisser/qmk_firmware.git
cd qmk_firmware
git checkout anne_pro
make git-submodule
make anne_pro:default

Flashing works flawlessly via make anne_pro:default:flash.

Sidenote: I just had issues using dfu-util to update the LED(!) MCUs firmware to 1.40 (as it is needed for this fork). The download would seem to work fine, but the LEDs did not light up. I resolved this by using the offical Windows way from the homepage (https://service.hexcore.xyz/manual/annepro/) flashing the keyboard MCU first, LED controller second. You need to rename the two DFU files to contain only ASCII characters, as the program will otherwise fail to load the files... :facepalm:

The current instructions for QMK do not apply for this fork, as there was a break in how to build QMK some time afterwards (nowadays you would use the qmk program). But I am very new to QMK, so I stand corrected.

Hope this helps.

coliflor commented 2 years ago

@tempura-san I rechecked and it sems that i was in the wrong folder or did something else, followed the instructions and now it builds but im unable to flash the dam thing the instructions obins provide doesn't work im unable to enter botloader mode.

coliflor commented 2 years ago

Issue resolved.

tempura-san commented 2 years ago

The standard procedure which worked for me is to hold Esc and then pressing the reset button at the back of the keyboard. Once you plug in the keyboard, it should be already placed in DFU mode. Is your battery charged up or maybe empty/defective? This might be an issue, in this case you need to hold Esc and plug the keyboard in via USB. Anyhow, if you hold Esc during the boot sequence of the microcontroller, it should get you in DFU mode.

tempura-san commented 2 years ago

So the most reliable way should be: