Replacement board
Moderators: adafruit_support_bill, adafruit

Replacement board

by por on Mon May 27, 2013 7:31 pm

After reprogramming my board the device suddenly became unavailable. I cannot connect to the Arduino through the serial port. I have reinstalled drivers, and the port works with other devices but not the Arduino uno any longer. My sketch remains on the board, and it is bootable, but it refuses to allow me to reprogram it or access serial communications.
por
 
Posts: 7
Joined: Tue May 14, 2013 12:26 am

Re: Replacement board

by CircuitBurner on Tue May 28, 2013 2:34 am

When this happens, I do 1 of 2 things usually...
1st, run that sketch from the "EEPROM" category called clear_eeprom or something like that...it will write blanks to the memory locations, clearing it out.

2nd and sometimes quite common, depoending on the sketch design and its IO assignments -
this is almost 100% of time when Im running the parallax eMic speech synth module, and IO pins are 0 and 1...
I have to pull those two jumper wires from ports so incoming sketch will take, otherwise the symptom is a slow upload that finally peters out, failing to refresh with new sketch.
Once the load looks normal (LED pattern) then reconnect the IO jumper wires and go..
It can be other pins to but 0 and 1 are real buggers for this.
Something to do with the current sketch running bits across those RX or TX lines and interfering with the incoming serial flow.
Try this 1st, then do the one I listed on top if it dont work....pull any IO jumper wires going to digital ports, and try upload that way.



may the force be with you
AMSAT terrestrial loc - (grid square) EM-12

wings are for fairies, and runways are for fashion models!
User avatar
CircuitBurner
 
Posts: 21
Joined: Mon Apr 15, 2013 1:18 am
Location: grand prairie, texas

Re: Replacement board

by adafruit_support_bill on Tue May 28, 2013 5:44 am

What does DeviceManager show when you connect your Uno to the USB port?
User avatar
adafruit_support_bill
 
Posts: 29630
Joined: Sat Feb 07, 2009 9:11 am

Re: Replacement board

by por on Wed May 29, 2013 2:12 am

Device Manager:
Arduino Uno (COM23)

Errors:
Serial port 'COM23' already in use. Try quiting any programs that may be using it.

My Arduino Mega is working fine, only this Uno produces an error when uploading a new sketch.
por
 
Posts: 7
Joined: Tue May 14, 2013 12:26 am

Re: Replacement board

by CircuitBurner on Wed May 29, 2013 2:31 am

I run megas, a few unos and a micro... every now and then one of my beater workstations UART -serial- acts flaky and does something like this too...
Try this, - plug in, verify the handshake sound ( or visual indicator in windows taskbar ) then unplug, wait 3 seconds, plug in, verify sound, wait couple more seconds, unplug, wait 3 or 4 sec. and plug in one last time and check connection.

Ive had to do this little goofy dance about a 3rd of the time, only on this one workstation.
If this is the only computer you have to load with, then also verify that the "board" setting in arduino IDE tools menu is correctly set for UNO...If thats wrong, bingo.
AMSAT terrestrial loc - (grid square) EM-12

wings are for fairies, and runways are for fashion models!
User avatar
CircuitBurner
 
Posts: 21
Joined: Mon Apr 15, 2013 1:18 am
Location: grand prairie, texas

Re: Replacement board

by adafruit_support_bill on Wed May 29, 2013 6:12 am

Device Manager:
Arduino Uno (COM23)

Errors:
Serial port 'COM23' already in use. Try quiting any programs that may be using it.


So the board is being recognized. The problem is that some application has the port open and only one program can use the COM port at a time.

Make sure you close any open Serial Monitor or COM port windows. Occasionally, the IDE or other program will leave the COM port open, preventing others from using it. I hate to say it, but sometimes the only remedy is to re-boot.

If that doesn't help, I would suspect that the port is being grabbed at startup by some service. Bluetooth stacks are notorious for monopolizing COM ports. If that is the case, you can try disabling or Re-configuring bluetooth.
User avatar
adafruit_support_bill
 
Posts: 29630
Joined: Sat Feb 07, 2009 9:11 am

Re: Replacement board

by por on Thu May 30, 2013 2:23 pm

So the board is being recognized. The problem is that some application has the port open and only one program can use the COM port at a time.


No, there is not an application using that port.

Make sure you close any open Serial Monitor or COM port windows. Occasionally, the IDE or other program will leave the COM port open, preventing others from using it. I hate to say it, but sometimes the only remedy is to re-boot.


I have tried this. Reboot, reinstall, etc. Going to try it on a friends laptop later today to see if I get the same results.


If that doesn't help, I would suspect that the port is being grabbed at startup by some service. Bluetooth stacks are notorious for monopolizing COM ports. If that is the case, you can try disabling or Re-configuring bluetooth.


I don't have any bluetooth stacks running.

...//...

It would appear this issue is isolated to one board, my Uno. The Arduino Mega I have works fine and my pic32 starter kit II works fine.
Attachments
screenshot.png
Screenshot of the error with settings.
screenshot.png (828.59 KiB) Viewed 479 times
por
 
Posts: 7
Joined: Tue May 14, 2013 12:26 am

Re: Replacement board

by adafruit_support_bill on Thu May 30, 2013 2:53 pm

It would appear this issue is isolated to one board, my Uno. The Arduino Mega I have works fine and my pic32 starter kit II works fine.

Your board is showing up as a virtual COM port. If it were not working, it would not show up. If your computer says that the COM port is in use, then the problem is on your computer. Try re-mapping the Uno to a lower COM port number in Device Manager.
User avatar
adafruit_support_bill
 
Posts: 29630
Joined: Sat Feb 07, 2009 9:11 am

Re: Replacement board

by por on Thu May 30, 2013 4:06 pm

Your board is showing up as a virtual COM port. If it were not working, it would not show up.

Are you certain?

If your computer says that the COM port is in use, then the problem is on your computer.


It's the Arduino IDE that claims this error, and your assessment of the situation is a bit glib.

Try re-mapping the Uno to a lower COM port number in Device Manager.


Tried. Same results.

Attached are the results of uploading a blink sketch to a Mega (working) and to the (malfunctioning) Uno.

The Mega was disconnected at it's end and the USB cable left in the computers port. the Uno was then plugged in and remapped (to COM6). I then attempted to program it using the Arduino IDE which produced the obvious errors.

Why would the Mega work but the Uno not?

Are you certain this couldn't be the Arduino Uno itself having the ability to hold a USB connection (identifying itself to the driver properly) yet still lack functionality?
Attachments
a_uno_not_working.png
Arduino Uno not working
a_uno_not_working.png (784.9 KiB) Viewed 463 times
a_mega_working.png
Arduino Mega working
a_mega_working.png (779.61 KiB) Viewed 463 times
por
 
Posts: 7
Joined: Tue May 14, 2013 12:26 am

Re: Replacement board

by adafruit_support_bill on Thu May 30, 2013 8:18 pm

Are you certain?

I've only had 15 years of development experience in the Windows kernel and 4 years with the Arduino, but I am reasonably certain that:
    1 - The 16U2 chip on your Arduino is correctly enumerating and identifying itself as a USB/Serial device to the Windows Kernel.
    2 - The Windows Kernel is recognizing the USB PnP event and instantiating an instance of a USB/Serial class driver - (COM23 according to your screen-shot)
    3 - The 16U2 chipo on your Arduino Uno is transmitting the correct USB Vendor and Product IDs for an Arduino Uno to your computer.
    4 - The Windows Kernel recognizes the USB vendor and product IDs transmitted by your UNO and loads the appropriate UNO-specific .inf., thus identifying the device to the Device Manager as an "Arduino Uno"
    5 - At this point the Arduino UNO becomes a passive serial devices waiting for CTS to be asserted when the COM port is opened.

It's the Arduino IDE that claims this error, and your assessment of the situation is a bit glib.

Keep in mind that the Arduino IDE is executing 100% in Windows, not on the Arduino. If by glib you mean unsubstantiated, I'm sorry for not providing a more detailed explanation.

Based on the Device Manager screenshots provided, the Arduino Uno is available and ready for communication (see above). And based on the errors reported by the Arduino IDE, the IDE is unable open the COM port. From a kernel-mode driver perspective, this means that the IRP_MJ_CREATE packet to the USB/Serial class driver was returned with a status of STATUS_ACCESS_DENIED. This usually means that the device is already opened by another process, but could also be returned in the event that the requesting process does not have access rights to the device.

Assuming that the error is being accurately reported by the IDE, the COM port is not opened and no actual download has been attempted.

I will grant that it is possible that the Arduino IDE is reporting the error incorrectly. (Arduino 1.0.5 is rather new and may have some bugs I am not aware of.) IRPTracker from OSR could be used to verify this if you are comfortable with kernel-level debugging tools. (You should be able to see the IRP_MJ_CREATE transaction as well as any follow-on IRP traffic ). For a QnD diagnostic: is there any LED activity on the Uno when you attempt to download?
User avatar
adafruit_support_bill
 
Posts: 29630
Joined: Sat Feb 07, 2009 9:11 am

Re: Replacement board

by por on Thu May 30, 2013 9:00 pm

I've only had 15 years of development experience in the Windows kernel and 4 years with the Arduino, but I am reasonably certain that ...

1. Given this, if I purchase a second Arduino Uno R3 and it works without producing this error, will you still be reasonably certain?

2. Why would the Mega work but the Uno not?

3. There is no LED "activity", the LED labeled "L" which I believe is attached to pin 13 is at a constant HIGH even when I attempt to download a sketch.
por
 
Posts: 7
Joined: Tue May 14, 2013 12:26 am

Re: Replacement board

by CircuitBurner on Fri May 31, 2013 4:22 am

it could be very well a device side issue...if another uno works...then the goal is to end up with two unos..lol
A tiny blob of dried lemonade in the right spot, from when your friend said a joke oh phone and made you unable to contain the last swig you took.... or little tiny spot of taco grease deposited onto cPU pins from touching uno while eating taco bell food
(thier grease IS synthetic these days)
or just a grain of foreign material from local environment wedged between cPU pins or within the usb socket... countless external variables to interfere with coms.
I would at this point, wash the suspect device correctly with some 'circuit bath' or other electronics industry cleaning solution like you can find at radio shack still. use old toothbrush or if you get the one that comes with the radioshack bottle, and scrub espexially the cpu and other ic pins and usb socket. then shake it off and air dry. no towels.
I cant count on all toes and fingers how many network cards, video cards,mainboards, etc. I have rescued this way after about to toss into trash can.
Not common wisdom thats passed along these days.
AMSAT terrestrial loc - (grid square) EM-12

wings are for fairies, and runways are for fashion models!
User avatar
CircuitBurner
 
Posts: 21
Joined: Mon Apr 15, 2013 1:18 am
Location: grand prairie, texas

Re: Replacement board

by CircuitBurner on Fri May 31, 2013 4:31 am

3. There is no LED "activity", the LED labeled "L" which I believe is attached to pin 13 is at a constant HIGH even when I attempt to download a sketch.


Did you run the 'clear eeprom' sketch yet?
That led may indicate a program in memory locking it up.
I do that once in a while with all the crazy crud I try writing or doing, lol

see about clearing the program currently residing in the chip, and you may need to find the procedure for manually physically blanking the prom with a little wire short or little wire and battery to make it release whatever is in memory.
Cant think of what pins you short to do this but anything with eeprom has a pin or 2 you charge or short out to erase.
just be careful and not cause the blue smoke to exit chip also...
once the blue smoke gets out, you cant put it back in...
AMSAT terrestrial loc - (grid square) EM-12

wings are for fairies, and runways are for fashion models!
User avatar
CircuitBurner
 
Posts: 21
Joined: Mon Apr 15, 2013 1:18 am
Location: grand prairie, texas

Re: Replacement board

by adafruit_support_bill on Fri May 31, 2013 5:39 am

will you still be reasonably certain?

Absolutely.

If you contact support@adafruit.com with a link to this thread we can send you a replacement Uno. And please donate your old board to a local school or robotics club. They will get some good use out of it.
User avatar
adafruit_support_bill
 
Posts: 29630
Joined: Sat Feb 07, 2009 9:11 am

Re: Replacement board

by por on Fri May 31, 2013 2:18 pm

Thank you!

fyi: I tried to program the Uno on an entirely new system and it won't recognize it.

May I send you the board? I could mail it to Adafruit, and if you happen to be able to get it working you could donate it to whichever school you wish. I don't mind paying for the postage. If this sounds cool, just let me know what department or whom to attention it to. If not, than I will drop it off at a local high school as suggested :D

Thanks again.
por
 
Posts: 7
Joined: Tue May 14, 2013 12:26 am