content/prologix.rst

Sat, 19 Mar 2016 00:55:18 +0100

author
David Douard <david.douard@logilab.fr>
date
Sat, 19 Mar 2016 00:55:18 +0100
changeset 44
96b26fb52f0b
parent 30
bc305adb1847
child 55
c0d0ea816237
child 56
3d0bed1a79c8
permissions
-rw-r--r--

[content] remove the :date: metadata

since we now use the filetime_from_hg plugin

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
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
63 But the fact it uses avrdude_ is good sign it might to find solutions
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
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
68 Now, the question is: haw is the AVR programmed? There are dozens of
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
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
71 Doing a ``string`` on the main exe in thie archive, PxUpdate.exe,
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
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
78 So we know the commande line used by this firmware update tool, and we
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
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
136 upgrade state. I was wondering is there is an undocumented controller
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
137 commands (anything starting with ``++`` is interpreted as a controller
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
138 command, so I searched for the ``++`` string in ``PxUpdate.exe``::
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

mercurial