58 |
58 |
59 |
59 |
60 Obviously, Windows stuff only, and no documentation on how to upgrade |
60 Obviously, Windows stuff only, and no documentation on how to upgrade |
61 the device on Linux. |
61 the device on Linux. |
62 |
62 |
63 But the fact it uses avrdude_ is good sign it might to find solutions |
63 But the fact it uses avrdude_ is good sign it might be possible to find solutions |
64 on Linux. According the names of the hex files, it seems there have 2 |
64 on Linux. According the names of the hex files, it seems there have 2 |
65 versions of the hardware, one with a ATMega16 and one with a |
65 versions of the hardware, one with a ATMega16 and one with a |
66 ATMega164P (mine uses a 164P). |
66 ATMega164P (mine uses a 164P). |
67 |
67 |
68 Now, the question is: haw is the AVR programmed? There are dozens of |
68 Now, the question is: how is the AVR programmed? There are dozens of |
69 'backends' available on avrdude. |
69 'backends' available on avrdude. |
70 |
70 |
71 Doing a ``string`` on the main exe in thie archive, PxUpdate.exe, |
71 Doing a ``string`` on the main exe in the archive, PxUpdate.exe, |
72 shows a few interesting things, especially this:: |
72 shows a few interesting things, especially this:: |
73 |
73 |
74 strings PxUpdate.exe | grep -i avr |
74 strings PxUpdate.exe | grep -i avr |
75 avrdude.exe -p %s -P \\.\COM%d -c avr109 -u -e -U flash:w:%s |
75 avrdude.exe -p %s -P \\.\COM%d -c avr109 -u -e -U flash:w:%s |
76 AVRBOOT |
76 AVRBOOT |
77 |
77 |
78 So we know the commande line used by this firmware update tool, and we |
78 So we know the command line used by this firmware update tool, and we |
79 known it uses the AVR's bootloader as decribed in the AVR109_ |
79 known it uses the AVR's bootloader as decribed in the AVR109_ |
80 application note. |
80 application note. |
81 |
81 |
82 But any attempt to read the content of the flash using:: |
82 But any attempt to read the content of the flash using:: |
83 |
83 |
131 Connecting to programmer: .avrdude: ser_recv(): programmer is not responding |
131 Connecting to programmer: .avrdude: ser_recv(): programmer is not responding |
132 avrdude: butterfly_recv(): programmer is not responding |
132 avrdude: butterfly_recv(): programmer is not responding |
133 |
133 |
134 |
134 |
135 So there is something else required to put the device under firmware |
135 So there is something else required to put the device under firmware |
136 upgrade state. I was wondering is there is an undocumented controller |
136 upgrade state. I was wondering if there is an undocumented controller |
137 commands (anything starting with ``++`` is interpreted as a controller |
137 command (anything starting with ``++`` is interpreted as a controller |
138 command, so I searched for the ``++`` string in ``PxUpdate.exe``:: |
138 command), so I searched for the ``++`` string in ``PxUpdate.exe``:: |
139 |
139 |
140 strings PxUpdate.exe | grep ++ |
140 strings PxUpdate.exe | grep ++ |
141 Microsoft Visual C++ Runtime Library |
141 Microsoft Visual C++ Runtime Library |
142 ++rst |
142 ++rst |
143 |
143 |