Welcome! Log In Create A New Profile

Advanced

Apple OS X and Duet firmware update problems

Posted by droftarts 
Apple OS X and Duet firmware update problems
May 14, 2015 06:01PM
Hi all Mac users

I've had a couple of users report that, while they are able to connect to the Duet with their Mac when it has firmware installed, via Arduino IDE and/or Pronterface, as soon as they press the 'erase' and 'reset' buttons on the Duet, they can no longer connect to it. It disappears off the list of USB devices (System Information > USB ), can't be found by bossac, and will not reappear. There are, apparently, examples of this happening with Arduino Due boards as well.

I'm trying to work out why this is happening. I have a late 2013 MacBook Pro Retina running OS X 10.9.5 'Mavericks' (I haven't updated to 10.10 yet). I have no problem erasing and flashing Duets. The customers report that they have OS X 10.10.3. There have been issues in the past with (there's a long thread here about a guy who just couldn't flash the Duet on his Mac: [forums.reprap.org] ), but generally it seemed to work fine in the more recent versions of Mac OS X, or at least I didn't hear of any problems. Until now...

If you have problems, or if you actually can flash your Duet with your Mac with OS X 10.10 (positive reports may be helpful too!), please post here. Let me know which version of Mac OS X you are using, and what Mac it's running on.

I have also wondered if it's something to do with Security preferences; I don't know if it's relevant, but I always have 'System Preferences > Security & Privacy > General > Allow apps downloaded from:' set to 'Anywhere'. It could be that the device ID of a Duet with no firmware is not being recognised, so OS X effectively ignores it. I haven't been able to prove if this is correct, though. Any other suggestions gratefully received.

The current workaround is to flash the Duet on a Windows or Linux PC, or running in Boot Camp (not VM, as the USB port won't be passed through to the VM). The Duet should then work again on the Mac.

Ian
RepRapPro tech support

Edited 1 time(s). Last edit at 05/15/2015 05:12AM by droftarts.
Re: Apple OS X and Duet firmware update problems
May 16, 2015 02:15AM
Hi Ian,

I was talking to you on IRC about this exact problem.

I was able to connect the board to Windows machine (another Mac, a 2010-era iMac, but running Win7), and I was able to update the firmware using the Windows version of the Arduino IDE and bossac.

Afterwards, I am able to connect to the machine again on my Macbook Pro.

It seems that Mac OS 10.10.3 doesn't recognize the "empty" Due as a serial port. I don't know why either.

Next time I update the firmware, I can try the security preferences. I'm not sure that applies to USB drivers, though.
Re: Apple OS X and Duet firmware update problems
May 17, 2015 11:40AM
Hi krolco

Thanks for replying, I was trying to remember who it was! I was talking to zombiepantslol about this at the end of last week, but we can't seem to replicate the problem. I've just done a fresh install of OS X 10.10.3 on a Macbook Pro 6,2 (Mid 2010). With the 1.09 firmware on the Duet, OS X sees it in the System information as:

Composite Device:

Product ID: 0x003e
Vendor ID: 0x2341
Version: 1.00
Speed: Up to 480 Mb/sec
Manufacturer:
Location ID: 0xfa140000 / 6
Current Available (mA): 500
Current Required (mA): 500

Once the firmware is erased, even without Arduino installed, it's seen as:

Communication Device:

Product ID: 0x6124
Vendor ID: 0x03eb (Atmel Corporation)
Version: 1.10
Speed: Up to 480 Mb/sec
Location ID: 0xfa140000 / 6
Current Available (mA): 500
Current Required (mA): 100

This was the same as I saw on my other MBP with OS X 10.9. I can install Arduino, flash the board with bossac, and then it comes back as before. So I still can't replicate the problem! What Mac are you using? Look in Apple Menu > About this Mac, then for the model identifier (eg MacBook Pro 6,2), look at the first page of the System Information.

Ian
RepRapPro tech support
Re: Apple OS X and Duet firmware update problems
May 19, 2015 04:22AM
Hello again!

It's a Late 2011 15-inch MBP.

I was able to see the same thing as you on the USB device listing, but no serial port showed up in my /dev/* list.
What output do you see with bossac when the firmware is erased? When I run bossac it reports that the port auto-scan failed.

What did you do to install Arduino? I just downloaded and ran the file. Was there something else you installed?

Thanks!

M
Re: Apple OS X and Duet firmware update problems
May 19, 2015 05:19AM
Also, one more interesting data point: when I have firmware flashed (currently 1.09), and I connect to the Duet with Pronterface, sometimes I get garbled responses -- doubled or missing characters (for instance, the line starts with kk instead of ok in the response).

I'm wondering if that's related or just a separate issue...
Re: Apple OS X and Duet firmware update problems
May 21, 2015 08:39AM
Hi all,
I am using a 10 year old Mac Mini (32 bit, Osx 10.6.8) and have s far not managed to get it to communicate with the Duet - I am trying to update the firmware.

However, I also have a copy of Windows XP on a VM with Virtual Box. I installed the Arduino IDE 1.6.4 on this and have had no problems connecting to the Duet from the Windows VM. All that was needed was to add the Duet USB connection to the VM Settings before launch and it was picked up without problems. Haven't got as far as flashing the firmware yet - see below - but can communicate ok with the Duete from the Serial Monitor window.

Where the heck is Bossac though? i have tried various versions of the Arduino IDE, using both the Windows installer and the zip files and there is no sign of bossac in the tools folder. hot smiley

Ralph
Re: Apple OS X and Duet firmware update problems
May 21, 2015 09:11AM
The easiest thing to do is to use the old version of Arduino IDE v1.6.1 (from [www.arduino.cc] ). Since 1.6.2 Arduino changed how they supplied the extra 'boards' for the other architectures they now produce. See [arduino.cc]

If you want to use Arduino 1.6.2 or later, install it, then install support for the 'Arduino SAM-based boards' (like the Due and Duet) by going to Tools > Board > Boards Manager. This should install bossac. Find it in:

Windows - C:\Users[username]\AppData\Roaming\Arduino15\packages\arduino\tools\bossac\1.3a-arduino
'AppData' is a hidden folder, so to see this you will need to 'show hidden files, folders and drives' in the Windows Explorer > Tools > Folder options > Views > Advanced settings.

Ubuntu - an invisible '.Arduino15' folder is created in your user 'home' folder.

Mac - /Users/{username}/Library/Arduino15/packages/arduino/tools/bossac/1.3a-arduino
The easiest way to get to it, as the Library folder in Users is usually hidden, is to click on the Finder 'Go > Go to folder...' menu option, then type '~/Library/', then follow the above path.

Ian
RepRapPro tech support
Re: Apple OS X and Duet firmware update problems
June 23, 2015 01:38PM
A quick update in case it is useful for other Mac users:

I have now successfully updated the firmware to 1.09 by using a copy of Windows XP running on a VM with Virtualbox and connected to the Duet via USB. The only thing to make sure is that you allocate the USB connection in the Settings for the Windows VM. After that it all seems to work fine.

And a thanks to Droftarts for the tip on finding Bossac in the file structure - could have been a lot of head scratching there!

Ralph
Re: Apple OS X and Duet firmware update problems
October 29, 2015 01:12PM
It was quite a struggle ;-) After erasing the firmware I have tried 1. Macbook (No device found on /dev/cu.....), 2. Mac mini (ditto), 3. Linux in VM (ditto), 4. Linux on the laptop and then reluctantly fired up Windows 7 in VM on the Macbook. It did the trick! I should learn to love windows ;-)
Re: Apple OS X and Duet firmware update problems
November 14, 2015 12:04PM
Hi all if this helps i use my 2015 macbook pro retina with OSX 10.11.1 and arduino V1.5.8 and i can flash my ormerod 2 just fine with this setup.
Re: Apple OS X and Duet firmware update problems
December 03, 2015 04:02PM
Digging this up....

I've tried multiple times to upload from a Mac without success. This time I followed the advice above. Made sure security settings set to Always, got Arduino IDE 1.6.1 and 2 different macs - 1 running Mavericks 10.9.5 (same as the OP) and the other running Yosemite 10.10.5.

After erase and reset I see the Communications Device port in the System and it is as the OP described:

Communication Device:

Product ID: 0x6124
Vendor ID: 0x03eb (Atmel Corporation)
Version: 1.10
Speed: Up to 480 Mb/sec
Location ID: 0x14444200 / 26
Current Available (mA): 500
Current Required (mA): 100

I then disconnect and 'cd' into /dev and see in the list:

cu.Bluetooth-Incoming-Port
cu.Bluetooth-Modem
cu.usbmodem14444421
cu.usbserial-A503KX6V

and

tty.Bluetooth-Incoming-Port
tty.Bluetooth-Modem
tty.usbmodem14444421
tty.usbserial-A503KX6V

Next I connect USB cable to the Duet and now I see this in the dev list - the lines in bold are new and must be the Duet:

cu.Bluetooth-Incoming-Port
cu.Bluetooth-Modem
cu.usbmodem1444421
cu.usbmodem14444421
cu.usbserial-A503KX6V

and

tty.Bluetooth-Incoming-Port
tty.Bluetooth-Modem
tty.usbmodem1444421
tty.usbmodem14444421
tty.usbserial-A503KX6V

I copied the Bossac from /Users/{username}/Library/Arduino15/packages/arduino/tools/bossac/1.3a-arduino/bossac to the same folder that the new firmware .bin image is located for convenience. I then 'cd' into that folder and execute:

bossac --port=/dev/cu.usbmodem1444421 -e -w -v -b ./RepRapFirmware-1.09k-dc42.bin

and get: No device found on /dev/cu.usbmodem1444421

This happens on both Macs (Mavericks andYosemite). Does anyone have any recommendations?


[sublimelayers.blogspot.com]

A strategy for Successful (and Great) Prints [forum.seemecnc.com]
Strategies for Resolving Print Artifacts [forum.seemecnc.com]

[www.EclecticAngler.com]
Re: Apple OS X and Duet firmware update problems
December 03, 2015 04:04PM
An update: if I leave off the --port so bossac autoscans, it also fails, reporting: Auto scan for device failed


[sublimelayers.blogspot.com]

A strategy for Successful (and Great) Prints [forum.seemecnc.com]
Strategies for Resolving Print Artifacts [forum.seemecnc.com]

[www.EclecticAngler.com]
Re: Apple OS X and Duet firmware update problems
December 03, 2015 04:38PM
Ok, spent some more time searching and found this: [forums.reprap.org]

So I tried this verbatim.

I copied my Arduino to /Applications. I copied the .bin firmware file to my desktop. I opened a terminal and 'cd' into /Desktop. I then ran:

/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/bossac --port=tty.usbmodem1444421 -U true -e -w -v -b RepRapFirmware-1.09k-dc42.bin -R

as per the command line in the above post. Note the port is tty.usbmodem...

THIS time it worked!

Erase flash
Write 229776 bytes to flash
[==============================] 100% (898/898 pages)
Verify 229776 bytes of flash
[==============================] 100% (898/898 pages)
Verify successful
Set boot flash true
CPU reset.

Now that I have a working process (I've successfully done it 3 times in a row as above) I can try to see what's causing it to break for others and my earlier attempts. The only differences were the location of Arduino and the bin file. I had previously tried the tty. port. Also note that there is no /dev/ on the --port= argument. I had tried that earlier too.

Edited 1 time(s). Last edit at 12/03/2015 04:40PM by mhackney.


[sublimelayers.blogspot.com]

A strategy for Successful (and Great) Prints [forum.seemecnc.com]
Strategies for Resolving Print Artifacts [forum.seemecnc.com]

[www.EclecticAngler.com]
Re: Apple OS X and Duet firmware update problems
December 03, 2015 04:55PM
I'm glad you have made progress! Some thoughts:

- could the magic combination be using the tty port and not putting /dev in front of it?

- does putting bossac within /Applications make a difference to the permissions that bossac has when it runs, for example to access I/O ports?



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Apple OS X and Duet firmware update problems
December 03, 2015 05:14PM
David, now I can't get it not to work! I think you nailed it, I looked back at my terminal history and the combination of /dev and tty port was not tried until this successful attempt.

I can put a copy of bossac on my desktop, in my Duet development folder, in the applications folder, access it via the /Users/{username}/Library/Arduino15/packages/arduino/tools/bossac/1.3a-arduino and they all work.

I can also leave off the --port option and it will successfully auotscan and find it which is odd since I tried autoscan and it failed.

'history' goes back a few months so I have an audit trail (the 273 items are several months old)! Everything in normal text failed, those in blue bold are from today and were successful:


273 bossac -e -w -v -b RepRapFirmware-1.04e-dc42.bin
274 bossac -e -w -v -b RepRapFirmware-1.04e-dc42.bin
275 bossac -e -w -v -b RepRapFirmware-1.04e-dc42.bin
276 bossac -e -w -v -b RepRapFirmware-1.04e-dc42.bin
277 bossac -e -w -v -b RepRapFirmware-1.04e-dc42.bin
278 bossac -e -w -v -b -p /dev/tty.usbmodem142411 RepRapFirmware-1.04e-dc42.bin
279 bossac -e -w -v -b -p /dev/tty/usbmodem142411 RepRapFirmware-1.04e-dc42.bin
280 bossac -e -w -v -b -p /dev/tty.usbmodem142411 RepRapFirmware-1.04e-dc42.bin
281 bossac -e -w -v -b -p tty.usbmodem142411 RepRapFirmware-1.04e-dc42.bin

458 bossac -p /dev/tty.usbmodem1444421 ./PanelDue-4.3-1.12.bin
459 bossac -p /dev/tty.usbmodem1444421 PanelDue-4.3-1.12.bin
460 bossac -h
461 bossac --port=/dev/tty.usbmodem1444421 ./PanelDue-4.3-1.12.bin
462 bossac --port=/dev/tty.usbmodem1444421 -e -w -v -b ./PanelDue-4.3-1.12.bin
463 bossac --port=/dev/cu.usbmodem1444421 -e -w -v -b ./PanelDue-4.3-1.12.bin
464 bossac --port=/dev/cu.usbmodem1444421 -e -w -v -b ./PanelDue-4.3-1.12.bin
465 bossac --port=/dev/cu.usbmodem1444421 -e -w -v -b ./PanelDue-4.3-1.12.bin

503 bossac --port=/dev/cu.usbserial-A503KX6V -e -w -v -b -R ./RepRapFirmware-1.09k-dc42.bin
504 bossac --port=/dev/cu.usbserial-A503KX6V -e -w -v -b ./RepRapFirmware-1.09k-dc42.bin
505 bossac --port=/dev/cu.usbserial-14444200 -e -w -v -b -R ./RepRapFirmware-1.09k-dc42.bin
506 bossac --port=/dev/cu.usbserial-14444200 -e -w -v -b ./RepRapFirmware-1.09k-dc42.bin
507 bossac --port=/dev/cu.usbmodem1444421 -e -w -v -b ./RepRapFirmware-1.09k-dc42.bin
508 bossac --port=/dev/tty.usbmodem1444421 -e -w -v -b ./RepRapFirmware-1.09k-dc42.bin
509 bossac -h
510 bossac -h
511 bossac --port=/dev/cu.usbserial-14444200 -e -w -v -b -R RepRapFirmware-1.09k-dc42.bin
512 bossac --port=/dev/cu.usbserial-14444200 -e -w -v -b RepRapFirmware-1.09k-dc42.bin
513 bossac -e -w -v -b -R RepRapFirmware-1.09k-dc42.bin
514 bossac -e -w -v -b RepRapFirmware-1.09k-dc42.bin
515 bossac --port=cu.usbserial-14444200 -e -w -v -b RepRapFirmware-1.09k-dc42.bin -R
516 bossac --port=tty.usbserial-14444200 -e -w -v -b RepRapFirmware-1.09k-dc42.bin -R

273 bossac -e -w -v -b RepRapFirmware-1.04e-dc42.bin
274 bossac -e -w -v -b RepRapFirmware-1.04e-dc42.bin
275 bossac -e -w -v -b RepRapFirmware-1.04e-dc42.bin
276 bossac -e -w -v -b RepRapFirmware-1.04e-dc42.bin
277 bossac -e -w -v -b RepRapFirmware-1.04e-dc42.bin
278 bossac -e -w -v -b -p /dev/tty.usbmodem142411 RepRapFirmware-1.04e-dc42.bin
279 bossac -e -w -v -b -p /dev/tty/usbmodem142411 RepRapFirmware-1.04e-dc42.bin
280 bossac -e -w -v -b -p /dev/tty.usbmodem142411 RepRapFirmware-1.04e-dc42.bin
281 bossac -e -w -v -b -p tty.usbmodem142411 RepRapFirmware-1.04e-dc42.bin

458 bossac -p /dev/tty.usbmodem1444421 ./PanelDue-4.3-1.12.bin
459 bossac -p /dev/tty.usbmodem1444421 PanelDue-4.3-1.12.bin
460 bossac -h
461 bossac --port=/dev/tty.usbmodem1444421 ./PanelDue-4.3-1.12.bin
462 bossac --port=/dev/tty.usbmodem1444421 -e -w -v -b ./PanelDue-4.3-1.12.bin
463 bossac --port=/dev/cu.usbmodem1444421 -e -w -v -b ./PanelDue-4.3-1.12.bin
464 bossac --port=/dev/cu.usbmodem1444421 -e -w -v -b ./PanelDue-4.3-1.12.bin
465 bossac --port=/dev/cu.usbmodem1444421 -e -w -v -b ./PanelDue-4.3-1.12.bin

503 bossac --port=/dev/cu.usbserial-A503KX6V -e -w -v -b -R ./RepRapFirmware-1.09k-dc42.bin
504 bossac --port=/dev/cu.usbserial-A503KX6V -e -w -v -b ./RepRapFirmware-1.09k-dc42.bin
505 bossac --port=/dev/cu.usbserial-14444200 -e -w -v -b -R ./RepRapFirmware-1.09k-dc42.bin
506 bossac --port=/dev/cu.usbserial-14444200 -e -w -v -b ./RepRapFirmware-1.09k-dc42.bin
507 bossac --port=/dev/cu.usbmodem1444421 -e -w -v -b ./RepRapFirmware-1.09k-dc42.bin
508 bossac --port=/dev/tty.usbmodem1444421 -e -w -v -b ./RepRapFirmware-1.09k-dc42.bin
509 bossac -h
510 bossac -h
511 bossac --port=/dev/cu.usbserial-14444200 -e -w -v -b -R RepRapFirmware-1.09k-dc42.bin
512 bossac --port=/dev/cu.usbserial-14444200 -e -w -v -b RepRapFirmware-1.09k-dc42.bin
513 bossac -e -w -v -b -R RepRapFirmware-1.09k-dc42.bin
514 bossac -e -w -v -b RepRapFirmware-1.09k-dc42.bin
515 bossac --port=cu.usbserial-14444200 -e -w -v -b RepRapFirmware-1.09k-dc42.bin -R
516 bossac --port=tty.usbserial-14444200 -e -w -v -b RepRapFirmware-1.09k-dc42.bin -R
517 bossac -h
518 /Users/mhackney/Library/Arduino15/packages/arduino/tools/bossac/1.3a-arduino/bossac --port=tty.usbmodem1444421 -U true -e -w -v -b RepRapFirmware-1.09k-dc42.bin -R
519 /Users/mhackney/Library/Arduino15/packages/arduino/tools/bossac/1.3a-arduino/bossac -help
520 /Users/mhackney/Library/Arduino15/packages/arduino/tools/bossac/1.3a-arduino/bossac -U true -e -w -v -b RepRapFirmware-1.09k-dc42.bin -R
521 /Users/mhackney/Library/Arduino15/packages/arduino/tools/bossac/1.3a-arduino/bossac true -e -w -v -b RepRapFirmware-1.09k-dc42.bin -R
522 /Users/mhackney/Library/Arduino15/packages/arduino/tools/bossac/1.3a-arduino/bossac --port=tty.usbmodem1444421 -e -w -v -b RepRapFirmware-1.09k-dc42.bin -R



#516 was with bossac and firmware on desktop
#518 bossac in Applications folder firmware on desktop
#520 bossac in Library package, firmware on desktop
#521 bossac in Library package, firmware in Desktop/Duet folder

Edited 1 time(s). Last edit at 12/03/2015 05:17PM by mhackney.


[sublimelayers.blogspot.com]

A strategy for Successful (and Great) Prints [forum.seemecnc.com]
Strategies for Resolving Print Artifacts [forum.seemecnc.com]

[www.EclecticAngler.com]
Re: Apple OS X and Duet firmware update problems
December 03, 2015 05:31PM
So, given this, everyone having trouble on a mac should do this:

1) install Arduino IDE 1.6.1 in /Applications
2) open a terminal window and 'cd' into the folder where you have the firmware .bin file
3) do an 'ls' in /dev to find see the ports before the Duet is connected.
4) connect Duet to USB and push the erase and rest buttons, then do an 'ls' in /dev again. You want the one that starts with "tty."
5) run bossac as:

/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/bossac --port=tty.YOUR_PORT_# -U true -e -w -v -b RepRapFirmware-1.09k-dc42.bin -R

Note that you should replace the 2 items in bold to match your port # and the firmware version you are updating.

Next, on to trying this with the PanelDue!


[sublimelayers.blogspot.com]

A strategy for Successful (and Great) Prints [forum.seemecnc.com]
Strategies for Resolving Print Artifacts [forum.seemecnc.com]

[www.EclecticAngler.com]
Re: Apple OS X and Duet firmware update problems
December 03, 2015 05:32PM
PS - might also be worth looking at [forum.arduino.cc] where someone claims to have updated the gui version of bossac for the Arduino Due and built a binary for Maverick.

Edited 2 time(s). Last edit at 12/03/2015 05:34PM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Sorry, only registered users may post in this forum.

Click here to login