Cannot program Teensy 2.0 with Arduino>=1.8.2 & Loader>=136

annaoo

Member
On both a Linux and OSX machine I was unable to program three different Teensy2.0 boards. All of the setups I attempted had no issue programming a Teensy++2.0. Only issues with the Teensy2.0. Eventually I succeeded in programming them using TYTools Tycommander.

Here are the different setups I tried with some details:

* ArchLinux Arduino 1.8.2 + Teensyduino 136
* OSX Arduino 1.8.2 + Teensyduino 136
* OSX Arduino 1.8.4 + Teensyduino 138beta

With the blinky sketch already loaded I attempted to program the device without physically pressing the program button, and with pressing the button. Neither help.

Using Tytools Tycommand worked. Not always, but often it worked. I ran it with the TYTOOLS_EXPERIMENTAL_BOARDS=1 option set and then just selected the Hex file that is passed from Arduino to the Teensy Loader. You can find this by pressing the file button in the Teensy Loader, which will show you the path of the currently selected compiled file. I would have to manually press the reset button after instructing the software to upload. When you plug the Teensy2.0 up it will show up in Tycommander in the "running" stay and will show the serial port /dev/ttyACM0 in the interfaces list. When you press program in the console where you executed Tycommander you should see it say it is attempting to trigger reboot, and then fail suggesting you press the button. When you press the reboot button on the Teensy the device list will change the state listed from "running" to "missing" and then to "bootloader" before showing the file loading progress. Sometimes I loading would stop at 5% and then fail with the error "I/O error while writing to '/dev/hidraw0': No such device". When this happened I would restart Tycommand and try again. Eventually it works.


Some information from Linux:
Code:
Archlinux Teensy++2.0
[20792.125865] usb 3-1: new full-speed USB device number 121 using xhci_hcd
[20792.258271] cdc_acm 3-1:1.0: ttyACM0: USB ACM device
Bus 003 Device 121: ID 16c0:0483 Van Ooijen Technische Informatica Teensyduino Serial

Teensy2.0 already with blinky sketch loaded
[21005.421051] usb 3-1: new full-speed USB device number 127 using xhci_hcd
[21005.554511] hid-generic 0003:16C0:0486.003F: hiddev0,hidraw0: USB HID v1.11 Device [Teensyduino RawHID Device] on usb-0000:00:14.0-1/input0
[21005.555444] hid-generic 0003:16C0:0486.0040: hidraw1: USB HID v1.11 Device [Teensyduino RawHID Device] on usb-0000:00:14.0-1/input1
Bus 003 Device 127: ID 16c0:0486 Van Ooijen Technische Informatica Teensyduino RawHID

(results are same with or without teensy udev rules)
wget http://www.pjrc.com/teensy/49-teensy.rules
sudo cp 49-teensy.rules /etc/udev/rules.d/49-teensy.rules
sudo rm /etc/udev/rules.d/49-teensy.rules
sudo udevadm control --reload-rules && sudo udevadm trigger
 
Is there a way to get more verbose information from Teensy Loader. I've tried running it from the console and programming a sketch but it doesn't tell me much. Here is what I get in the verbose log after connecting the Teensy2.0, attempting to reboot it, unplugging and plugging back in. You can see the Loader doesn't appear to notice any devices. I've run the loader as root to be sure it wouldn't have permission issues.


Code:
14:53:21.301: Teensy Loader 1.36, begin program
14:53:21.312: File "Blink.ino.hex". 2410 bytes, 4% used
14:53:21.313: Listening for remote control on port 3149
14:53:21.313: initialized, showing main window
14:53:21.696: HID/linux: bus "006", device "001" vid=1D6B, pid=0003, ver=0412
14:53:21.696: HID/linux: bus "005", device "001" vid=1D6B, pid=0002, ver=0412
14:53:21.696: HID/linux: bus "004", device "001" vid=1D6B, pid=0003, ver=0412
14:53:21.696: HID/linux: bus "003", device "075" vid=16C0, pid=0483, ver=0100
14:53:21.696: HID/linux: bus "003", device "001" vid=1D6B, pid=0002, ver=0412
14:53:21.696: HID/linux: bus "002", device "002" vid=8087, pid=0024, ver=0000
14:53:21.697: HID/linux: bus "002", device "001" vid=1D6B, pid=0002, ver=0412
14:53:21.697: HID/linux: bus "001", device "002" vid=8087, pid=0024, ver=0000
14:53:21.697: HID/linux: bus "001", device "001" vid=1D6B, pid=0002, ver=0412
14:53:25.710: Verbose Info event
14:53:31.213: Open File event
14:53:33.560: File "Blink.ino.hex". 2410 bytes, 4% used
14:54:09.990: Open File event
14:54:11.735: File "Blink.ino.hex". 2410 bytes, 4% used
14:54:14.229: Auto Button event
14:54:14.230: Auto mode: enabled
14:54:15.696: Auto Button event
14:54:15.696: Auto mode: disabled

I notice that when from Arduino I attempt to program, and then I press the reset button on the Teensy2.0 that Arduino software will be made aware of this event (the program progress bar is then removed and it says upload finished, though the upload did not happen) -- at this point the teensy loader doesnt for some seconds. Eventually when it returns this is the log


Code:
14:58:13.463: Teensy Loader 1.36, begin program
14:58:13.472: File "Blink.ino.hex". 2410 bytes, 4% used
14:58:13.473: Listening for remote control on port 3149
14:58:13.473: initialized, showing main window
14:58:13.537: remote connection opened
14:58:13.537: remote cmd: "comment: Teensyduino 1.36 - LINUX64 (teensy_post_compile)"
14:58:13.537: remote cmd: "status"
14:58:13.537: status data sent
14:58:13.580: remote cmd: "auto:on"
14:58:13.591: remote connection closed
14:58:13.601: remote connection opened
14:58:13.601: remote cmd: "comment: Teensyduino 1.36 - LINUX64 (teensy_post_compile)"
14:58:13.601: remote cmd: "status"
14:58:13.601: status data sent
14:58:13.654: remote connection closed
14:58:13.659: remote connection opened
14:58:13.659: remote cmd: "comment: Teensyduino 1.36 - LINUX64 (teensy_reboot)"
14:58:13.660: remote cmd: "status"
14:58:13.660: status data sent
14:58:13.701: remote cmd: "status"
14:58:13.701: status data sent
14:58:14.266: HID/linux: bus "006", device "001" vid=1D6B, pid=0003, ver=0412
14:58:14.266: HID/linux: bus "005", device "001" vid=1D6B, pid=0002, ver=0412
14:58:14.266: HID/linux: bus "004", device "001" vid=1D6B, pid=0003, ver=0412
14:58:14.266: HID/linux: bus "003", device "001" vid=1D6B, pid=0002, ver=0412
14:58:14.266: HID/linux: bus "002", device "002" vid=8087, pid=0024, ver=0000
14:58:14.266: HID/linux: bus "002", device "001" vid=1D6B, pid=0002, ver=0412
14:58:14.267: HID/linux: bus "001", device "002" vid=8087, pid=0024, ver=0000
14:58:14.267: HID/linux: bus "001", device "001" vid=1D6B, pid=0002, ver=0412
14:58:14.397: remote cmd: "status"
14:58:14.397: status data sent
14:58:14.497: remote cmd: "status"
14:58:14.498: status data sent
14:58:14.716: remote cmd: "status"
14:58:14.717: status data sent
14:58:14.897: remote cmd: "status"
14:58:14.897: status data sent
14:58:14.997: remote cmd: "status"
14:58:14.998: status data sent
14:58:15.147: remote cmd: "status"
14:58:15.148: status data sent
14:58:15.248: remote cmd: "status"
14:58:15.249: status data sent
14:58:15.431: remote cmd: "status"
14:58:15.432: status data sent
14:58:15.697: remote cmd: "status"
14:58:15.697: status data sent
14:58:15.950: remote cmd: "status"
14:58:15.951: status data sent
14:58:16.150: remote cmd: "status"
14:58:16.150: status data sent
14:58:16.251: remote cmd: "status"
14:58:16.251: status data sent
14:58:16.400: remote cmd: "status"
14:58:16.400: status data sent
14:58:16.501: remote cmd: "status"
14:58:16.501: status data sent
14:58:16.749: remote cmd: "status"
14:58:16.750: status data sent
14:58:17.000: remote cmd: "status"
14:58:17.000: status data sent
14:58:17.249: remote cmd: "status"
14:58:17.250: status data sent
14:58:17.499: remote cmd: "status"
14:58:17.500: status data sent
14:58:17.753: remote cmd: "status"
14:58:17.754: status data sent
14:58:18.006: remote cmd: "status"
14:58:18.007: status data sent
14:58:18.152: remote cmd: "status"
14:58:18.153: status data sent
14:58:18.254: remote cmd: "status"
14:58:18.254: status data sent
14:58:18.503: remote cmd: "status"
14:58:18.504: status data sent
14:58:18.756: remote cmd: "status"
14:58:18.757: status data sent
14:58:19.003: remote cmd: "status"
14:58:19.004: status data sent
14:58:19.254: remote cmd: "status"
14:58:19.255: status data sent
14:58:19.437: remote cmd: "status"
14:58:19.437: status data sent
14:58:19.707: remote cmd: "status"
14:58:19.708: status data sent
14:58:20.007: remote cmd: "status"
14:58:20.007: status data sent
14:58:20.257: remote cmd: "status"
14:58:20.257: status data sent
14:58:20.507: remote cmd: "status"
14:58:20.508: status data sent
14:58:20.710: remote cmd: "status"
14:58:20.710: status data sent
14:58:20.909: remote cmd: "status"
14:58:20.910: status data sent
14:58:21.010: remote cmd: "status"
14:58:21.011: status data sent
14:58:21.159: remote cmd: "status"
14:58:21.160: status data sent
14:58:21.260: remote cmd: "status"
14:58:21.261: status data sent
14:58:21.509: remote cmd: "status"
14:58:21.510: status data sent
14:58:21.759: remote cmd: "status"
14:58:21.760: status data sent
14:58:21.959: remote cmd: "status"
14:58:21.960: status data sent
14:58:22.263: remote cmd: "status"
14:58:22.263: status data sent
14:58:22.513: remote cmd: "status"
14:58:22.513: status data sent
14:58:22.763: remote cmd: "status"
14:58:22.763: status data sent
14:58:23.013: remote cmd: "status"
14:58:23.014: status data sent
14:58:23.163: remote cmd: "status"
14:58:23.163: status data sent
14:58:23.264: remote cmd: "status"
14:58:23.264: status data sent
14:58:23.417: remote cmd: "status"
14:58:23.417: status data sent
14:58:23.518: remote cmd: "status"
14:58:23.518: status data sent
14:58:23.667: remote cmd: "status"
14:58:23.667: status data sent
14:58:23.767: remote cmd: "status"
14:58:23.768: status data sent
14:58:23.973: remote connection closed
15:00:21.968: Verbose Info event
 
IMG_8853.JPG

is that a clone?? I purchased from a legit local physical store in the netherlands.

this and the 2 others i have worked fine (able to be programmed from within arduino with teensy loader) about 1+1/2 year ago
 
Last edited:
Back
Top