Fri, 02 Mar 2018 01:12:57 +0100
add src to hgignore
30
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
1 | ================================================== |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
2 | Updating the Prologix USB-GPIB firmware on Linux |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
3 | ================================================== |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
4 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
5 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
6 | :author: David Douard |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
7 | :Category: Electronics |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
8 | :Tags: test equipment, GPIB, Prologix |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
9 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
10 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
11 | Prologix_ sell several low cost GPIB controllers. I have one their old |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
12 | deprecated dongle "GPIB-USB Controller 4.2" and had fun with it with |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
13 | my pygpibtoolkit_ project. |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
14 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
15 | It's a very simple dongle consisting in an Atmel ATMega164P |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
16 | microcontroller and a FTDI FT245FL chip for the USB<->RS232 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
17 | convertion. |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
18 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
19 | .. image:: {filename}images/prologix/prologix_4.2_small.jpg |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
20 | :alt: The Prologix GPIB-USB controller. |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
21 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
22 | Unfortunately, it's no longer available (I find this unfortunate |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
23 | because it was really cheap, and very useful for hobbyist like me). |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
24 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
25 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
26 | Upgrading the buggy firmware |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
27 | ============================ |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
28 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
29 | My controller had the version 5.2 of the firmware, which really is |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
30 | buggy. For example if a device on the GPIB bus is continuously sending |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
31 | data and the controller is in "auto" mode (in which it automatically |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
32 | perform a reading of the available data), then it was impossible to |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
33 | send it commands anymore. |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
34 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
35 | Unfortunately, the Prologix web site only describe the product as "No |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
36 | longer in production". There is still an available FAQ_ and the `user |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
37 | manual`_, but the firmware update procedure is not described any more. |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
38 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
39 | However, the `directory serving all the firmwares`_ for their products |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
40 | still have the firmwares for this device. The latest published version |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
41 | is the `4.2-6.95`_ (in fact, it's the version 6.95 of the firware for |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
42 | the version 4.2 of the USB-GPIB controller). |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
43 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
44 | The content of this archive is:: |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
45 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
46 | unzip -l ~/Downloads/gpib-usb-4.2-6.95.zip |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
47 | Archive: /home/david/Downloads/gpib-usb-4.2-6.95.zip |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
48 | Length Date Time Name |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
49 | --------- ---------- ----- ---- |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
50 | 244837 2007-07-08 23:57 avrdude.conf |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
51 | 186880 2007-07-08 23:57 avrdude.exe |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
52 | 31162 2010-09-21 10:57 m16.hex |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
53 | 31542 2010-09-21 10:57 m164.hex |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
54 | 61440 2010-06-16 18:21 PxUpdate.exe |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
55 | 409 2009-01-21 11:00 readme.txt |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
56 | --------- ------- |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
57 | 556270 6 files |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
58 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
59 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
60 | Obviously, Windows stuff only, and no documentation on how to upgrade |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
61 | the device on Linux. |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
62 | |
56 | 63 | But the fact it uses avrdude_ is good sign it might be possible to find solutions |
30
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
64 | on Linux. According the names of the hex files, it seems there have 2 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
65 | versions of the hardware, one with a ATMega16 and one with a |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
66 | ATMega164P (mine uses a 164P). |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
67 | |
56 | 68 | Now, the question is: how is the AVR programmed? There are dozens of |
30
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
69 | 'backends' available on avrdude. |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
70 | |
56 | 71 | Doing a ``string`` on the main exe in the archive, PxUpdate.exe, |
30
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
72 | shows a few interesting things, especially this:: |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
73 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
74 | strings PxUpdate.exe | grep -i avr |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
75 | avrdude.exe -p %s -P \\.\COM%d -c avr109 -u -e -U flash:w:%s |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
76 | AVRBOOT |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
77 | |
56 | 78 | So we know the command line used by this firmware update tool, and we |
30
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
79 | known it uses the AVR's bootloader as decribed in the AVR109_ |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
80 | application note. |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
81 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
82 | But any attempt to read the content of the flash using:: |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
83 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
84 | avrdude -p m164p -c avr109 -U flash:r:flash.hex:i |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
85 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
86 | fails stating the avr does not respond:: |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
87 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
88 | avrdude -P /dev/ttyUSB0 -p m164p -c avr109 -v -v -U flash:r:flash2.hex:i |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
89 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
90 | avrdude: Version 6.1, compiled on Sep 11 2014 at 20:00:34 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
91 | Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
92 | Copyright (c) 2007-2014 Joerg Wunsch |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
93 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
94 | System wide configuration file is "/etc/avrdude.conf" |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
95 | User configuration file is "/home/david/.avrduderc" |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
96 | User configuration file does not exist or is not a regular file, skipping |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
97 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
98 | Using Port : /dev/ttyUSB0 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
99 | Using Programmer : avr109 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
100 | AVR Part : ATmega164P |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
101 | Chip Erase delay : 55000 us |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
102 | PAGEL : PD7 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
103 | BS2 : PA0 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
104 | RESET disposition : dedicated |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
105 | RETRY pulse : SCK |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
106 | serial program mode : yes |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
107 | parallel program mode : yes |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
108 | Timeout : 200 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
109 | StabDelay : 100 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
110 | CmdexeDelay : 25 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
111 | SyncLoops : 32 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
112 | ByteDelay : 0 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
113 | PollIndex : 3 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
114 | PollValue : 0x53 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
115 | Memory Detail : |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
116 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
117 | Block Poll Page Polled |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
118 | Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
119 | ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
120 | eeprom 4 10 128 0 no 512 4 0 9000 9000 0xff 0xff |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
121 | flash 33 6 128 0 yes 16384 128 128 4500 4500 0xff 0xff |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
122 | lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
123 | lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
124 | hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
125 | signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
126 | calibration 0 0 0 0 no 4 0 0 0 0 0x00 0x00 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
127 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
128 | Programmer Type : butterfly |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
129 | Description : Atmel AppNote AVR109 Boot Loader |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
130 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
131 | Connecting to programmer: .avrdude: ser_recv(): programmer is not responding |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
132 | avrdude: butterfly_recv(): programmer is not responding |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
133 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
134 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
135 | So there is something else required to put the device under firmware |
56 | 136 | upgrade state. I was wondering if there is an undocumented controller |
137 | command (anything starting with ``++`` is interpreted as a controller | |
138 | command), so I searched for the ``++`` string in ``PxUpdate.exe``:: | |
30
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
139 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
140 | strings PxUpdate.exe | grep ++ |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
141 | Microsoft Visual C++ Runtime Library |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
142 | ++rst |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
143 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
144 | No magic undocumented command, but a reset of the controller is |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
145 | performed by this tool. Let's try this:: |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
146 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
147 | stty -F /dev/ttyUSB0 speed 115200 cs8 -cstopb -parenb |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
148 | echo -en '++rst\r' > /dev/ttyUSB0; avrdude -P /dev/ttyUSB0 -p m164p -c avr109 -v -v -U flash:r:flash2.hex:i |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
149 | avrdude: Version 6.1, compiled on Sep 11 2014 at 20:00:34 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
150 | Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
151 | Copyright (c) 2007-2014 Joerg Wunsch |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
152 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
153 | System wide configuration file is "/etc/avrdude.conf" |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
154 | User configuration file is "/home/david/.avrduderc" |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
155 | User configuration file does not exist or is not a regular file, skipping |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
156 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
157 | Using Port : /dev/ttyUSB0 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
158 | Using Programmer : avr109 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
159 | AVR Part : ATmega164P |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
160 | Chip Erase delay : 55000 us |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
161 | PAGEL : PD7 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
162 | BS2 : PA0 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
163 | RESET disposition : dedicated |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
164 | RETRY pulse : SCK |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
165 | serial program mode : yes |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
166 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
167 | parallel program mode : yes |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
168 | Timeout : 200 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
169 | StabDelay : 100 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
170 | CmdexeDelay : 25 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
171 | SyncLoops : 32 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
172 | ByteDelay : 0 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
173 | PollIndex : 3 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
174 | PollValue : 0x53 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
175 | Memory Detail : |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
176 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
177 | Block Poll Page Polled |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
178 | Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
179 | ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
180 | eeprom 4 10 128 0 no 512 4 0 9000 9000 0xff 0xff |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
181 | flash 33 6 128 0 yes 16384 128 128 4500 4500 0xff 0xff |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
182 | lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
183 | lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
184 | hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
185 | signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
186 | calibration 0 0 0 0 no 4 0 0 0 0 0x00 0x00 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
187 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
188 | Programmer Type : butterfly |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
189 | Description : Atmel AppNote AVR109 Boot Loader |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
190 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
191 | Connecting to programmer: . |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
192 | Found programmer: Id = "AVRBOOT"; type = S |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
193 | Software Version = 1.0; Hardware Version = 1.0 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
194 | Programmer supports auto addr increment. |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
195 | Programmer supports buffered memory access with buffersize=128 bytes. |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
196 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
197 | Programmer supports the following devices: |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
198 | Device code: 0x76 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
199 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
200 | avrdude: devcode selected: 0x76 |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
201 | avrdude: AVR device initialized and ready to accept instructions |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
202 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
203 | Reading | ################################################## | 100% 0.00s |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
204 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
205 | avrdude: Device signature = 0x1e940a |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
206 | avrdude: safemode: Fuse reading not support by programmer. |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
207 | Safemode disabled. |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
208 | avrdude: reading flash memory: |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
209 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
210 | Reading | ################################################## | 100% 0.26s |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
211 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
212 | avrdude: writing output file "flash2.hex" |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
213 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
214 | avrdude done. Thank you. |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
215 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
216 | Much better! |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
217 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
218 | Now I can upgrade the firmware:: |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
219 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
220 | echo -en '++rst\r' > /dev/ttyUSB0; avrdude -P /dev/ttyUSB0 -p m164p -c avr109 -v -v -U flash:w:m164.hex |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
221 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
222 | Et voilĂ ! The Prologix GPIB-USB interface is upgraded to the latest |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
223 | available software. From what I've seen so far, it seems more stable |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
224 | (at least I can read data from my HP5442A and HP3456A in "fast" mode |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
225 | without loosing my GPIB controller.) |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
226 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
227 | |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
228 | .. _`4.2-6.95`: http://prologix.biz/downloads/gpib-usb-4.2-6.95.zip |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
229 | .. _Prologix: http://prologix.biz/ |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
230 | .. _FAQ: http://prologix.biz/gpib-usb-4.2-faq.html |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
231 | .. _`user manual`: http://prologix.biz/downloads/PrologixGpibUsbManual-4.2.pdf |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
232 | .. _pygpibtoolkit: https://www.logilab.org/project/pygpibtoolkit |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
233 | .. _`directory serving all the firmwares`: http://prologix.biz/downloads/ |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
234 | .. _avrdude: http://savannah.nongnu.org/projects/avrdude/ |
bc305adb1847
[prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
235 | .. _avr109: http://www.atmel.com/Images/doc1644.pdf |