Page 1 of 2

Uploaded bootloader, can't upload firmware

Posted: Sat Apr 11, 2020 7:14 am
by kallsop
A10 with GT2560 Rev 3. Connected up a usbasp to the LCD board. Ran Arduino 1.8.12, set Tools to ATMEGA2560 and programmer to usbasp. Ran Burn Bootloader, apparently successful (see console messages below). Disconnect usbasp, power cycle the A10. Connect its USB to my PC, and unable to upload firmware over USB e.g. by Cura. Cura says the printer is not detected. The whole point of the bootloader is to permit firmware updates over USB, right? What am I missing? By the way, the printer is totally dead now, just two rows of black boxes on the LCD.

EDIT - forget to mention, printer USB is seen in Windows 10 64 bit Device Manager as USB-SERIAL CH340 (COM3).

Code: Select all

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega2560 -cusbasp -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xD8:m -Ulfuse:w:0xFF:m 

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : usb
         Using Programmer              : usbasp
         AVR Part                      : ATmega2560
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10     8    0 no       4096    8      0  9000  9000 0x00 0x00
           flash         65    10   256    0 yes    262144  256   1024  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9801 (probably m2560)
avrdude: erasing chip
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "0x3F"
avrdude: writing lock (1 bytes):

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega2560 -cusbasp -Pusb -Uflash:w:C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex:i -Ulock:w:0x0F:m 

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3F:
avrdude: load data lock data from input file 0x3F:
avrdude: input file 0x3F contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude: reading input file "0xFD"
avrdude: writing efuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0xFD:
avrdude: load data efuse data from input file 0xFD:
avrdude: input file 0xFD contains 1 bytes
avrdude: reading on-chip efuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of efuse verified
avrdude: reading input file "0xD8"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xD8:
avrdude: load data hfuse data from input file 0xD8:
avrdude: input file 0xD8 contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xFF"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

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.00s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified

avrdude done.  Thank you.


         Using Port                    : usb
         Using Programmer              : usbasp
         AVR Part                      : ATmega2560
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10     8    0 no       4096    8      0  9000  9000 0x00 0x00
           flash         65    10   256    0 yes    262144  256   1024  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9801 (probably m2560)
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: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex"
avrdude: writing flash (261406 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 261406 bytes of flash written
avrdude: verifying flash memory against C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex:
avrdude: load data flash data from input file C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex:
avrdude: input file C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex contains 261406 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 261406 bytes of flash verified
avrdude: reading input file "0x0F"
avrdude: writing lock (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x0F:
avrdude: load data lock data from input file 0x0F:
avrdude: input file 0x0F contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lock verified

avrdude done.  Thank you.


Re: Uploaded bootloader, can't upload firmware

Posted: Sat Apr 11, 2020 9:41 am
by William
Hi, You can reinstall the driver,
Reference: https://www.geeetech.com/forum/viewtopi ... RlcFtWdCG4

Re: Uploaded bootloader, can't upload firmware

Posted: Sat Apr 11, 2020 11:18 am
by kallsop
That's the driver I have already. I did reinstall, no difference.

https://www.dropbox.com/s/i31rexe8dzknd ... r.jpg?dl=0
Image

Re: Uploaded bootloader, can't upload firmware

Posted: Sat Apr 11, 2020 11:26 am
by William
Hi, When you upload the firmware, do you open the slice software occupation port?
If not, you can try to turn on the computer again,
Check if the firmware can be uploaded.
Determine whether the communication port is normal.

Re: Uploaded bootloader, can't upload firmware

Posted: Sat Apr 11, 2020 8:11 pm
by kallsop
Cura 4.5 does not seem to have option to select port. Either it detects the printer or it doesn't. It doesn't.

I tried the Firmware Toolkit main.exe. It autodetects the printer port (com 3) with message "Connecting remote end successfully!". I Select the firmware. Click on "Upgrade from local" and the app appears to freeze. All options are grayed out, app hangs there for ever, nothing updates on the screen.

Re: Uploaded bootloader, can't upload firmware

Posted: Mon Apr 13, 2020 9:25 am
by William
Hi, You can try to install the driver: https://www.geeetech.com/forum/viewtopi ... RlcFtWdCG4
Then reconnect the printer to upload the firmware for viewing.

Re: Uploaded bootloader, can't upload firmware

Posted: Tue Apr 14, 2020 8:51 am
by kallsop
That driver is what I had originally, and reinstalled. It shows as "USB-SERIAL CH340 (COM4)" in Device Manager (Windows 10 64 bit, all updates). I also tried a different usb port, the Device Manager showed the same except it registered on COM3.

So no progress. Bootloader installs successfully, but cannot update firmware over USB. The Firmware Toolkit main app freezes. Cura 4.5 says no printer detected. Not sure which other apps to try, that might have more details for debugging.

https://www.dropbox.com/s/5h96dnmuzck9f ... 0.jpg?dl=0
Image

Re: Uploaded bootloader, can't upload firmware

Posted: Tue Apr 14, 2020 9:21 am
by William
Hi, If it still cannot be read,
There may be a problem with the communication port on the motherboard.

Re: Uploaded bootloader, can't upload firmware

Posted: Tue Apr 14, 2020 10:19 am
by kallsop
I tried two USB different ports on a laptop that has only 2 ports. Both ports work with usbasp and everything else USB I have used. If I can, I will move the printer near to a desktop PC and try the desktop USB ports.

Re: Uploaded bootloader, can't upload firmware

Posted: Sat Apr 18, 2020 10:05 am
by kallsop
I watched a couple of bootloader programming videos on youtube, using Arduino Uno as programmer. In those videos, the printer board ICSP wires do not connect to the Reset pin on the Uno ICSP connector, they connect to pin 10 on the Uno, which is SS (Slave Select).

In my GT2560 wiring, I wired to the LCD module and connected my usbasp ICSP reset wire to a reset switch pin on the LCD. According to the GT2560 Rev 3 schematic, this is pin 18 in the ribbon cable. Should I instead connect the usbasp ICSP reset pin to pin 30 in the ribbon, SS? I don't know the reason behind why the Uno ICSP reset pin is not used and instead connect to pin 10 SS.