ubuntu@ubuntu:~$ sudo apt-get install flex byacc bison gcc libusb-dev avrdude Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: libwayland-egl1-mesa Use 'sudo apt autoremove' to remove it. The following additional packages will be installed: gcc-7 libasan4 libatomic1 libbison-dev libc-dev-bin libc6-dev libcilkrts5 libfl-dev libfl2 libftdi1 libgcc-7-dev libitm1 liblsan0 libmpx2 libquadmath0 libsigsegv2 libtsan0 libubsan0 libusb-0.1-4 linux-libc-dev m4 manpages-dev Suggested packages: avrdude-doc bison-doc build-essential flex-doc gcc-multilib make autoconf automake libtool gcc-doc gcc-7-multilib gcc-7-doc gcc-7-locales libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan4-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg libmpx2-dbg libquadmath0-dbg glibc-doc m4-doc The following NEW packages will be installed: avrdude bison byacc flex gcc gcc-7 libasan4 libatomic1 libbison-dev libc-dev-bin libc6-dev libcilkrts5 libfl-dev libfl2 libftdi1 libgcc-7-dev libitm1 liblsan0 libmpx2 libquadmath0 libsigsegv2 libtsan0 libubsan0 libusb-0.1-4 libusb-dev linux-libc-dev m4 manpages-dev 0 upgraded, 28 newly installed, 0 to remove and 0 not upgraded. Need to get 15.5 MB/20.4 MB of archives. After this operation, 79.9 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 cdrom://Ubuntu 18.04.4 LTS _Bionic Beaver_ - Release amd64 (20200203.1) bionic/main amd64 gcc amd64 4:7.4.0-1ubuntu2.3 [5184 B] Get:2 cdrom://Ubuntu 18.04.4 LTS _Bionic Beaver_ - Release amd64 (20200203.1) bionic/main amd64 libc-dev-bin amd64 2.27-3ubuntu1 [71.8 kB] Get:3 cdrom://Ubuntu 18.04.4 LTS _Bionic Beaver_ - Release amd64 (20200203.1) bionic/main amd64 libc6-dev amd64 2.27-3ubuntu1 [2587 kB] Get:4 http://ftp.belnet.be/ubuntu bionic/main amd64 libsigsegv2 amd64 2.12-1 [14.7 kB] Get:5 cdrom://Ubuntu 18.04.4 LTS _Bionic Beaver_ - Release amd64 (20200203.1) bionic/main amd64 manpages-dev all 4.15-1 [2217 kB] Get:6 http://security.ubuntu.com/ubuntu bionic-security/main amd64 libitm1 amd64 8.3.0-26ubuntu1~18.04 [27.9 kB] Get:7 http://ftp.belnet.be/ubuntu bionic/main amd64 m4 amd64 1.4.18-1 [197 kB] Get:8 http://security.ubuntu.com/ubuntu bionic-security/main amd64 libatomic1 amd64 8.3.0-26ubuntu1~18.04 [9192 B] Get:9 http://security.ubuntu.com/ubuntu bionic-security/main amd64 libasan4 amd64 7.5.0-3ubuntu1~18.04 [358 kB] Get:10 http://ftp.belnet.be/ubuntu bionic/main amd64 flex amd64 2.6.4-6 [316 kB] Get:11 http://security.ubuntu.com/ubuntu bionic-security/main amd64 liblsan0 amd64 8.3.0-26ubuntu1~18.04 [133 kB] Get:12 http://ftp.belnet.be/ubuntu bionic/main amd64 libbison-dev amd64 2:3.0.4.dfsg-1build1 [339 kB] Get:13 http://security.ubuntu.com/ubuntu bionic-security/main amd64 libtsan0 amd64 8.3.0-26ubuntu1~18.04 [288 kB] Get:14 http://ftp.belnet.be/ubuntu bionic/main amd64 bison amd64 2:3.0.4.dfsg-1build1 [266 kB] Get:15 http://ftp.belnet.be/ubuntu bionic/main amd64 libfl2 amd64 2.6.4-6 [11.4 kB] Get:16 http://ftp.belnet.be/ubuntu bionic/main amd64 libfl-dev amd64 2.6.4-6 [6320 B] Get:17 http://ftp.belnet.be/ubuntu bionic/main amd64 libusb-0.1-4 amd64 2:0.1.12-31 [17.1 kB] Get:18 http://ftp.belnet.be/ubuntu bionic/universe amd64 libftdi1 amd64 0.20-4build3 [15.0 kB] Get:19 http://ftp.belnet.be/ubuntu bionic/main amd64 libusb-dev amd64 2:0.1.12-31 [30.2 kB] Get:20 http://ftp.belnet.be/ubuntu bionic/universe amd64 avrdude amd64 6.3-4 [302 kB] Get:21 http://ftp.belnet.be/ubuntu bionic/universe amd64 byacc amd64 20140715-1build1 [61.3 kB] Get:13 http://security.ubuntu.com/ubuntu bionic-security/main amd64 libtsan0 amd64 8.3.0-26ubuntu1~18.04 [288 kB] Get:22 http://security.ubuntu.com/ubuntu bionic-security/main amd64 libubsan0 amd64 7.5.0-3ubuntu1~18.04 [126 kB] Get:23 http://security.ubuntu.com/ubuntu bionic-security/main amd64 libcilkrts5 amd64 7.5.0-3ubuntu1~18.04 [42.5 kB] Get:24 http://security.ubuntu.com/ubuntu bionic-security/main amd64 libmpx2 amd64 8.3.0-26ubuntu1~18.04 [11.6 kB] Get:25 http://security.ubuntu.com/ubuntu bionic-security/main amd64 libquadmath0 amd64 8.3.0-26ubuntu1~18.04 [134 kB] Get:26 http://security.ubuntu.com/ubuntu bionic-security/main amd64 libgcc-7-dev amd64 7.5.0-3ubuntu1~18.04 [2378 kB] Get:27 http://security.ubuntu.com/ubuntu bionic-security/main amd64 gcc-7 amd64 7.5.0-3ubuntu1~18.04 [9381 kB] Get:28 http://security.ubuntu.com/ubuntu bionic-security/main amd64 linux-libc-dev amd64 4.15.0-91.92 [1026 kB] Fetched 15.3 MB in 5min 16s (48.6 kB/s) Selecting previously unselected package libsigsegv2:amd64. (Reading database ... 181734 files and directories currently installed.) Preparing to unpack .../00-libsigsegv2_2.12-1_amd64.deb ... Unpacking libsigsegv2:amd64 (2.12-1) ... Selecting previously unselected package m4. Preparing to unpack .../01-m4_1.4.18-1_amd64.deb ... Unpacking m4 (1.4.18-1) ... Selecting previously unselected package flex. Preparing to unpack .../02-flex_2.6.4-6_amd64.deb ... Unpacking flex (2.6.4-6) ... Selecting previously unselected package libbison-dev:amd64. Preparing to unpack .../03-libbison-dev_2%3a3.0.4.dfsg-1build1_amd64.deb ... Unpacking libbison-dev:amd64 (2:3.0.4.dfsg-1build1) ... Selecting previously unselected package bison. Preparing to unpack .../04-bison_2%3a3.0.4.dfsg-1build1_amd64.deb ... Unpacking bison (2:3.0.4.dfsg-1build1) ... Selecting previously unselected package libitm1:amd64. Preparing to unpack .../05-libitm1_8.3.0-26ubuntu1~18.04_amd64.deb ... Unpacking libitm1:amd64 (8.3.0-26ubuntu1~18.04) ... Selecting previously unselected package libatomic1:amd64. Preparing to unpack .../06-libatomic1_8.3.0-26ubuntu1~18.04_amd64.deb ... Unpacking libatomic1:amd64 (8.3.0-26ubuntu1~18.04) ... Selecting previously unselected package libasan4:amd64. Preparing to unpack .../07-libasan4_7.5.0-3ubuntu1~18.04_amd64.deb ... Unpacking libasan4:amd64 (7.5.0-3ubuntu1~18.04) ... Selecting previously unselected package liblsan0:amd64. Preparing to unpack .../08-liblsan0_8.3.0-26ubuntu1~18.04_amd64.deb ... Unpacking liblsan0:amd64 (8.3.0-26ubuntu1~18.04) ... Selecting previously unselected package libtsan0:amd64. Preparing to unpack .../09-libtsan0_8.3.0-26ubuntu1~18.04_amd64.deb ... Unpacking libtsan0:amd64 (8.3.0-26ubuntu1~18.04) ... Selecting previously unselected package libubsan0:amd64. Preparing to unpack .../10-libubsan0_7.5.0-3ubuntu1~18.04_amd64.deb ... Unpacking libubsan0:amd64 (7.5.0-3ubuntu1~18.04) ... Selecting previously unselected package libcilkrts5:amd64. Preparing to unpack .../11-libcilkrts5_7.5.0-3ubuntu1~18.04_amd64.deb ... Unpacking libcilkrts5:amd64 (7.5.0-3ubuntu1~18.04) ... Selecting previously unselected package libmpx2:amd64. Preparing to unpack .../12-libmpx2_8.3.0-26ubuntu1~18.04_amd64.deb ... Unpacking libmpx2:amd64 (8.3.0-26ubuntu1~18.04) ... Selecting previously unselected package libquadmath0:amd64. Preparing to unpack .../13-libquadmath0_8.3.0-26ubuntu1~18.04_amd64.deb ... Unpacking libquadmath0:amd64 (8.3.0-26ubuntu1~18.04) ... Selecting previously unselected package libgcc-7-dev:amd64. Preparing to unpack .../14-libgcc-7-dev_7.5.0-3ubuntu1~18.04_amd64.deb ... Unpacking libgcc-7-dev:amd64 (7.5.0-3ubuntu1~18.04) ... Selecting previously unselected package gcc-7. Preparing to unpack .../15-gcc-7_7.5.0-3ubuntu1~18.04_amd64.deb ... Unpacking gcc-7 (7.5.0-3ubuntu1~18.04) ... Selecting previously unselected package gcc. Preparing to unpack .../16-gcc_7.4.0-1ubuntu2.3_amd64.deb ... Unpacking gcc (4:7.4.0-1ubuntu2.3) ... Selecting previously unselected package libc-dev-bin. Preparing to unpack .../17-libc-dev-bin_2.27-3ubuntu1_amd64.deb ... Unpacking libc-dev-bin (2.27-3ubuntu1) ... Selecting previously unselected package linux-libc-dev:amd64. Preparing to unpack .../18-linux-libc-dev_4.15.0-91.92_amd64.deb ... Unpacking linux-libc-dev:amd64 (4.15.0-91.92) ... Selecting previously unselected package libc6-dev:amd64. Preparing to unpack .../19-libc6-dev_2.27-3ubuntu1_amd64.deb ... Unpacking libc6-dev:amd64 (2.27-3ubuntu1) ... Selecting previously unselected package libfl2:amd64. Preparing to unpack .../20-libfl2_2.6.4-6_amd64.deb ... Unpacking libfl2:amd64 (2.6.4-6) ... Selecting previously unselected package libfl-dev:amd64. Preparing to unpack .../21-libfl-dev_2.6.4-6_amd64.deb ... Unpacking libfl-dev:amd64 (2.6.4-6) ... Selecting previously unselected package libusb-0.1-4:amd64. Preparing to unpack .../22-libusb-0.1-4_2%3a0.1.12-31_amd64.deb ... Unpacking libusb-0.1-4:amd64 (2:0.1.12-31) ... Selecting previously unselected package libftdi1:amd64. Preparing to unpack .../23-libftdi1_0.20-4build3_amd64.deb ... Unpacking libftdi1:amd64 (0.20-4build3) ... Selecting previously unselected package libusb-dev. Preparing to unpack .../24-libusb-dev_2%3a0.1.12-31_amd64.deb ... Unpacking libusb-dev (2:0.1.12-31) ... Selecting previously unselected package manpages-dev. Preparing to unpack .../25-manpages-dev_4.15-1_all.deb ... Unpacking manpages-dev (4.15-1) ... Selecting previously unselected package avrdude. Preparing to unpack .../26-avrdude_6.3-4_amd64.deb ... Unpacking avrdude (6.3-4) ... Selecting previously unselected package byacc. Preparing to unpack .../27-byacc_20140715-1build1_amd64.deb ... Unpacking byacc (20140715-1build1) ... Setting up libquadmath0:amd64 (8.3.0-26ubuntu1~18.04) ... Setting up libatomic1:amd64 (8.3.0-26ubuntu1~18.04) ... Setting up libasan4:amd64 (7.5.0-3ubuntu1~18.04) ... Setting up libsigsegv2:amd64 (2.12-1) ... Setting up libcilkrts5:amd64 (7.5.0-3ubuntu1~18.04) ... Setting up libubsan0:amd64 (7.5.0-3ubuntu1~18.04) ... Setting up libtsan0:amd64 (8.3.0-26ubuntu1~18.04) ... Setting up linux-libc-dev:amd64 (4.15.0-91.92) ... Setting up m4 (1.4.18-1) ... Setting up liblsan0:amd64 (8.3.0-26ubuntu1~18.04) ... Setting up libmpx2:amd64 (8.3.0-26ubuntu1~18.04) ... Setting up byacc (20140715-1build1) ... update-alternatives: using /usr/bin/byacc to provide /usr/bin/yacc (yacc) in auto mode Setting up libbison-dev:amd64 (2:3.0.4.dfsg-1build1) ... Setting up libfl2:amd64 (2.6.4-6) ... Setting up libc-dev-bin (2.27-3ubuntu1) ... Setting up bison (2:3.0.4.dfsg-1build1) ... update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc (yacc) in auto mode Setting up manpages-dev (4.15-1) ... Setting up libc6-dev:amd64 (2.27-3ubuntu1) ... Setting up libusb-0.1-4:amd64 (2:0.1.12-31) ... Setting up libitm1:amd64 (8.3.0-26ubuntu1~18.04) ... Setting up flex (2.6.4-6) ... Setting up libftdi1:amd64 (0.20-4build3) ... Setting up libgcc-7-dev:amd64 (7.5.0-3ubuntu1~18.04) ... Setting up libfl-dev:amd64 (2.6.4-6) ... Setting up libusb-dev (2:0.1.12-31) ... Setting up avrdude (6.3-4) ... Setting up gcc-7 (7.5.0-3ubuntu1~18.04) ... Setting up gcc (4:7.4.0-1ubuntu2.3) ... Processing triggers for man-db (2.8.3-2ubuntu0.1) ... Processing triggers for install-info (6.5.0.dfsg.1-2) ... Processing triggers for libc-bin (2.27-3ubuntu1) ... ubuntu@ubuntu:~$ sudo apt-get install gcc-avr Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: libwayland-egl1-mesa Use 'sudo apt autoremove' to remove it. The following additional packages will be installed: binutils-avr Suggested packages: task-c-devel gcc-doc avr-libc The following NEW packages will be installed: binutils-avr gcc-avr 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 16.6 MB of archives. After this operation, 85.3 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://ftp.belnet.be/ubuntu bionic/universe amd64 binutils-avr amd64 2.26.20160125+Atmel3.6.0-1 [1475 kB] Get:2 http://ftp.belnet.be/ubuntu bionic/universe amd64 gcc-avr amd64 1:5.4.0+Atmel3.6.0-1build1 [15.1 MB] 62% [2 gcc-avr 9201 kB/15.1 MB 61%] Get:2 http://ftp.belnet.be/ubuntu bionic/universe amd64 gcc-avr amd64 1:5.4.0+Atmel3.6.0-1build1 [15.1 MB] Fetched 3679 kB in 3min 0s (20.4 kB/s) Selecting previously unselected package binutils-avr. (Reading database ... 185918 files and directories currently installed.) Preparing to unpack .../binutils-avr_2.26.20160125+Atmel3.6.0-1_amd64.deb ... Unpacking binutils-avr (2.26.20160125+Atmel3.6.0-1) ... Selecting previously unselected package gcc-avr. Preparing to unpack .../gcc-avr_1%3a5.4.0+Atmel3.6.0-1build1_amd64.deb ... Unpacking gcc-avr (1:5.4.0+Atmel3.6.0-1build1) ... Setting up binutils-avr (2.26.20160125+Atmel3.6.0-1) ... Setting up gcc-avr (1:5.4.0+Atmel3.6.0-1build1) ... Processing triggers for man-db (2.8.3-2ubuntu0.1) ... Processing triggers for libc-bin (2.27-3ubuntu1) ... ubuntu@ubuntu:~$ sudo apt-get install avr-libc Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: libwayland-egl1-mesa Use 'sudo apt autoremove' to remove it. The following NEW packages will be installed: avr-libc 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 4872 kB of archives. After this operation, 42.5 MB of additional disk space will be used. Get:1 http://ftp.belnet.be/ubuntu bionic/universe amd64 avr-libc all 1:2.0.0+Atmel3.6.0-1 [4872 kB] Get:1 http://ftp.belnet.be/ubuntu bionic/universe amd64 avr-libc all 1:2.0.0+Atmel3.6.0-1 [4872 kB] Fetched 4144 kB in 2min 17s (30.3 kB/s) Selecting previously unselected package avr-libc. (Reading database ... 186822 files and directories currently installed.) Preparing to unpack .../avr-libc_1%3a2.0.0+Atmel3.6.0-1_all.deb ... Unpacking avr-libc (1:2.0.0+Atmel3.6.0-1) ... Setting up avr-libc (1:2.0.0+Atmel3.6.0-1) ... Processing triggers for man-db (2.8.3-2ubuntu0.1) ... ubuntu@ubuntu:~$ sudo apt-get install libc6-dev Reading package lists... Done Building dependency tree Reading state information... Done libc6-dev is already the newest version (2.27-3ubuntu1). libc6-dev set to manually installed. The following package was automatically installed and is no longer required: libwayland-egl1-mesa Use 'sudo apt autoremove' to remove it. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. ubuntu@ubuntu:~$ cd ~/Desktop ubuntu@ubuntu:~/Desktop$ wget http://academy.cba.mit.edu/classes/embedded_programming/firmware.zip --2020-03-25 12:59:59-- http://academy.cba.mit.edu/classes/embedded_programming/firmware.zip Resolving academy.cba.mit.edu (academy.cba.mit.edu)... 18.27.130.25 Connecting to academy.cba.mit.edu (academy.cba.mit.edu)|18.27.130.25|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 141728 (138K) [application/zip] Saving to: ‘firmware.zip’ firmware.zip 100%[===================>] 138.41K 216KB/s in 0.6s 2020-03-25 13:00:00 (216 KB/s) - ‘firmware.zip’ saved [141728/141728] ubuntu@ubuntu:~/Desktop$ unzip firmware.zip Archive: firmware.zip creating: fabISP_mac.0.8.2_firmware/ inflating: fabISP_mac.0.8.2_firmware/.DS_Store creating: __MACOSX/ creating: __MACOSX/fabISP_mac.0.8.2_firmware/ inflating: __MACOSX/fabISP_mac.0.8.2_firmware/._.DS_Store inflating: fabISP_mac.0.8.2_firmware/main.c inflating: __MACOSX/fabISP_mac.0.8.2_firmware/._main.c inflating: fabISP_mac.0.8.2_firmware/main.elf inflating: fabISP_mac.0.8.2_firmware/main.hex inflating: fabISP_mac.0.8.2_firmware/main.o inflating: fabISP_mac.0.8.2_firmware/Makefile inflating: __MACOSX/fabISP_mac.0.8.2_firmware/._Makefile inflating: fabISP_mac.0.8.2_firmware/usbconfig.h inflating: __MACOSX/fabISP_mac.0.8.2_firmware/._usbconfig.h creating: fabISP_mac.0.8.2_firmware/usbdrv/ inflating: fabISP_mac.0.8.2_firmware/usbdrv/.DS_Store creating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/ inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._.DS_Store inflating: fabISP_mac.0.8.2_firmware/usbdrv/asmcommon.inc inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._asmcommon.inc inflating: fabISP_mac.0.8.2_firmware/usbdrv/Changelog.txt inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._Changelog.txt inflating: fabISP_mac.0.8.2_firmware/usbdrv/CommercialLicense.txt inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._CommercialLicense.txt inflating: fabISP_mac.0.8.2_firmware/usbdrv/License.txt inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._License.txt inflating: fabISP_mac.0.8.2_firmware/usbdrv/oddebug.c inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._oddebug.c inflating: fabISP_mac.0.8.2_firmware/usbdrv/oddebug.h inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._oddebug.h inflating: fabISP_mac.0.8.2_firmware/usbdrv/oddebug.o inflating: fabISP_mac.0.8.2_firmware/usbdrv/Readme.txt inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._Readme.txt inflating: fabISP_mac.0.8.2_firmware/usbdrv/USB-ID-FAQ.txt inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._USB-ID-FAQ.txt inflating: fabISP_mac.0.8.2_firmware/usbdrv/USB-IDs-for-free.txt inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._USB-IDs-for-free.txt inflating: fabISP_mac.0.8.2_firmware/usbdrv/usbconfig-prototype.h inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._usbconfig-prototype.h inflating: fabISP_mac.0.8.2_firmware/usbdrv/usbdrv.c inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._usbdrv.c inflating: fabISP_mac.0.8.2_firmware/usbdrv/usbdrv.h inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._usbdrv.h inflating: fabISP_mac.0.8.2_firmware/usbdrv/usbdrv.o inflating: fabISP_mac.0.8.2_firmware/usbdrv/usbdrvasm.asm inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._usbdrvasm.asm inflating: fabISP_mac.0.8.2_firmware/usbdrv/usbdrvasm.o inflating: fabISP_mac.0.8.2_firmware/usbdrv/usbdrvasm.S inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._usbdrvasm.S inflating: fabISP_mac.0.8.2_firmware/usbdrv/usbdrvasm12.inc inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._usbdrvasm12.inc inflating: fabISP_mac.0.8.2_firmware/usbdrv/usbdrvasm128.inc inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._usbdrvasm128.inc inflating: fabISP_mac.0.8.2_firmware/usbdrv/usbdrvasm15.inc inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._usbdrvasm15.inc inflating: fabISP_mac.0.8.2_firmware/usbdrv/usbdrvasm16.inc inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._usbdrvasm16.inc inflating: fabISP_mac.0.8.2_firmware/usbdrv/usbdrvasm165.inc inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._usbdrvasm165.inc inflating: fabISP_mac.0.8.2_firmware/usbdrv/usbdrvasm18-crc.inc inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._usbdrvasm18-crc.inc inflating: fabISP_mac.0.8.2_firmware/usbdrv/usbdrvasm20.inc inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._usbdrvasm20.inc inflating: fabISP_mac.0.8.2_firmware/usbdrv/USBID-License.txt inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._USBID-License.txt inflating: fabISP_mac.0.8.2_firmware/usbdrv/usbportability.h inflating: __MACOSX/fabISP_mac.0.8.2_firmware/usbdrv/._usbportability.h ubuntu@ubuntu:~/Desktop$ ls __MACOSX fabISP_mac.0.8.2_firmware firmware.zip ubiquity.desktop ubuntu@ubuntu:~/Desktop$ cd fabISP_mac.0.8.2_firmware ubuntu@ubuntu:~/Desktop/fabISP_mac.0.8.2_firmware$ make hex Command 'make' not found, but can be installed with: sudo apt install make sudo apt install make-guile ubuntu@ubuntu:~/Desktop/fabISP_mac.0.8.2_firmware$ sudo apt install make Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: libwayland-egl1-mesa Use 'sudo apt autoremove' to remove it. Suggested packages: make-doc The following NEW packages will be installed: make 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/154 kB of archives. After this operation, 381 kB of additional disk space will be used. Get:1 cdrom://Ubuntu 18.04.4 LTS _Bionic Beaver_ - Release amd64 (20200203.1) bionic/main amd64 make amd64 4.1-9.1ubuntu1 [154 kB] Selecting previously unselected package make. (Reading database ... 189382 files and directories currently installed.) Preparing to unpack .../make_4.1-9.1ubuntu1_amd64.deb ... Unpacking make (4.1-9.1ubuntu1) ... Setting up make (4.1-9.1ubuntu1) ... Processing triggers for man-db (2.8.3-2ubuntu0.1) ... ubuntu@ubuntu:~/Desktop/fabISP_mac.0.8.2_firmware$ sudo apt install make-guile Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: libwayland-egl1-mesa Use 'sudo apt autoremove' to remove it. Suggested packages: make-doc The following packages will be REMOVED: make The following NEW packages will be installed: make-guile 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. Need to get 155 kB of archives. After this operation, 4096 B of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://ftp.belnet.be/ubuntu bionic/universe amd64 make-guile amd64 4.1-9.1ubuntu1 [155 kB] Fetched 155 kB in 1s (162 kB/s) (Reading database ... 189397 files and directories currently installed.) Removing make (4.1-9.1ubuntu1) ... Selecting previously unselected package make-guile. (Reading database ... 189382 files and directories currently installed.) Preparing to unpack .../make-guile_4.1-9.1ubuntu1_amd64.deb ... Unpacking make-guile (4.1-9.1ubuntu1) ... Setting up make-guile (4.1-9.1ubuntu1) ... Processing triggers for man-db (2.8.3-2ubuntu0.1) ... ubuntu@ubuntu:~/Desktop/fabISP_mac.0.8.2_firmware$ make clean rm -f main.hex main.lst main.obj main.cof main.list main.map main.eep.hex main.elf *.o usbdrv/*.o main.s usbdrv/oddebug.s usbdrv/usbdrv.s ubuntu@ubuntu:~/Desktop/fabISP_mac.0.8.2_firmware$ make hex avr-gcc -Wall -Os -DF_CPU=20000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=attiny44 -c usbdrv/usbdrv.c -o usbdrv/usbdrv.o avr-gcc -Wall -Os -DF_CPU=20000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=attiny44 -x assembler-with-cpp -c usbdrv/usbdrvasm.S -o usbdrv/usbdrvasm.o avr-gcc -Wall -Os -DF_CPU=20000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=attiny44 -c usbdrv/oddebug.c -o usbdrv/oddebug.o avr-gcc -Wall -Os -DF_CPU=20000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=attiny44 -c main.c -o main.o main.c:88:13: warning: always_inline function might not be inlinable [-Wattributes] static void delay ( void ) ^ avr-gcc -Wall -Os -DF_CPU=20000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=attiny44 -o main.elf usbdrv/usbdrv.o usbdrv/usbdrvasm.o usbdrv/oddebug.o main.o rm -f main.hex main.eep.hex avr-objcopy -j .text -j .data -O ihex main.elf main.hex avr-size main.hex text data bss dec hex filename 0 1984 0 1984 7c0 main.hex ubuntu@ubuntu:~/Desktop/fabISP_mac.0.8.2_firmware$ sudo make fuse avrdude -c stk500v1 -P /dev/ttyACM0 -b19200 -p attiny44 -U hfuse:w:0xDF:m -U lfuse:w:0xFF:m avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.02s avrdude: Device signature = 0x1e9207 (probably t44) avrdude: reading input file "0xDF" avrdude: writing hfuse (1 bytes): Writing | ################################################## | 100% 0.01s avrdude: 1 bytes of hfuse written avrdude: verifying hfuse memory against 0xDF: avrdude: load data hfuse data from input file 0xDF: avrdude: input file 0xDF contains 1 bytes avrdude: reading on-chip hfuse data: Reading | ################################################## | 100% 0.01s avrdude: verifying ... avrdude: 1 bytes of hfuse verified avrdude: reading input file "0xFF" avrdude: writing lfuse (1 bytes): Writing | ################################################## | 100% 0.02s avrdude: 1 bytes of lfuse written avrdude: verifying lfuse memory against 0xFF: avrdude: load data lfuse data from input file 0xFF: avrdude: input file 0xFF contains 1 bytes avrdude: reading on-chip lfuse data: Reading | ################################################## | 100% 0.01s avrdude: verifying ... avrdude: 1 bytes of lfuse verified avrdude: safemode: Fuses OK (E:FF, H:DF, L:FF) avrdude done. Thank you. ubuntu@ubuntu:~/Desktop/fabISP_mac.0.8.2_firmware$ sudo make program avrdude -c stk500v1 -P /dev/ttyACM0 -b19200 -p attiny44 -U flash:w:main.hex:i avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.02s avrdude: Device signature = 0x1e9207 (probably t44) avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: reading input file "main.hex" avrdude: writing flash (1984 bytes): Writing | ################################################## | 100% 2.79s avrdude: 1984 bytes of flash written avrdude: verifying flash memory against main.hex: avrdude: load data flash data from input file main.hex: avrdude: input file main.hex contains 1984 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 1.40s avrdude: verifying ... avrdude: 1984 bytes of flash verified avrdude: safemode: Fuses OK (E:FF, H:DF, L:FF) avrdude done. Thank you. avrdude -c stk500v1 -P /dev/ttyACM0 -b19200 -p attiny44 -U hfuse:w:0xDF:m -U lfuse:w:0xFF:m avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.02s avrdude: Device signature = 0x1e9207 (probably t44) avrdude: reading input file "0xDF" avrdude: writing hfuse (1 bytes): Writing | ################################################## | 100% 0.01s avrdude: 1 bytes of hfuse written avrdude: verifying hfuse memory against 0xDF: avrdude: load data hfuse data from input file 0xDF: avrdude: input file 0xDF contains 1 bytes avrdude: reading on-chip hfuse data: Reading | ################################################## | 100% 0.01s avrdude: verifying ... avrdude: 1 bytes of hfuse verified avrdude: reading input file "0xFF" avrdude: writing lfuse (1 bytes): Writing | ################################################## | 100% 0.01s avrdude: 1 bytes of lfuse written avrdude: verifying lfuse memory against 0xFF: avrdude: load data lfuse data from input file 0xFF: avrdude: input file 0xFF contains 1 bytes avrdude: reading on-chip lfuse data: Reading | ################################################## | 100% 0.01s avrdude: verifying ... avrdude: 1 bytes of lfuse verified avrdude: safemode: Fuses OK (E:FF, H:DF, L:FF) avrdude done. Thank you.