content/prologix.rst

Sat, 12 Mar 2016 01:36:48 +0100

author
David Douard <david.douard@logilab.fr>
date
Sat, 12 Mar 2016 01:36:48 +0100
changeset 32
6ede33beeeed
parent 30
bc305adb1847
child 44
96b26fb52f0b
permissions
-rw-r--r--

[hp5334a] new blog post about the HP5334A universal counter

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 :date: 2016-03-10
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
8 :Category: Electronics
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
9 :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
10
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
11
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
12 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
13 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
14 my pygpibtoolkit_ project.
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
15
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
16 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
17 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
18 convertion.
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
19
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
20 .. 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
21 :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
22
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
23 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
24 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
25
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
26
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
27 Upgrading the buggy firmware
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
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
30 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
31 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
32 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
33 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
34 send it commands anymore.
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
35
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
36 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
37 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
38 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
39
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
40 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
41 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
42 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
43 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
44
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
45 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
46
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
47 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
48 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
49 Length Date Time Name
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
50 --------- ---------- ----- ----
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
51 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
52 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
53 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
54 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
55 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
56 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
57 --------- -------
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
58 556270 6 files
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
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
61 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
62 the device on Linux.
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
63
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
64 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
65 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
66 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
67 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
68
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
69 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
70 'backends' available on avrdude.
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
71
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
72 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
73 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
74
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
75 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
76 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
77 AVRBOOT
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
78
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
79 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
80 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
81 application note.
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
82
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
83 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
84
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
85 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
86
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
87 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
88
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
89 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
90
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
91 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
92 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
93 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
94
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
95 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
96 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
97 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
98
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
99 Using Port : /dev/ttyUSB0
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
100 Using Programmer : avr109
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
101 AVR Part : ATmega164P
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
102 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
103 PAGEL : PD7
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
104 BS2 : PA0
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
105 RESET disposition : dedicated
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
106 RETRY pulse : SCK
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
107 serial program mode : yes
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
108 parallel program mode : yes
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
109 Timeout : 200
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
110 StabDelay : 100
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
111 CmdexeDelay : 25
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
112 SyncLoops : 32
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
113 ByteDelay : 0
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
114 PollIndex : 3
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
115 PollValue : 0x53
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
116 Memory Detail :
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
117
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
118 Block Poll Page Polled
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
119 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
120 ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
121 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
122 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
123 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
124 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
125 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
126 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
127 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
128
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
129 Programmer Type : butterfly
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
130 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
131
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
132 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
133 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
134
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
135
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
136 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
137 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
138 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
139 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
140
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
141 strings PxUpdate.exe | grep ++
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
142 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
143 ++rst
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
144
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
145 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
146 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
147
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
148 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
149 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
150 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
151 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
152 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
153
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
154 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
155 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
156 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
157
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
158 Using Port : /dev/ttyUSB0
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
159 Using Programmer : avr109
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
160 AVR Part : ATmega164P
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
161 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
162 PAGEL : PD7
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
163 BS2 : PA0
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
164 RESET disposition : dedicated
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
165 RETRY pulse : SCK
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
166 serial program mode : yes
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
167
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
168 parallel program mode : yes
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
169 Timeout : 200
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
170 StabDelay : 100
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
171 CmdexeDelay : 25
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
172 SyncLoops : 32
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
173 ByteDelay : 0
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
174 PollIndex : 3
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
175 PollValue : 0x53
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
176 Memory Detail :
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
177
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
178 Block Poll Page Polled
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
179 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
180 ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
181 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
182 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
183 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
184 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
185 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
186 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
187 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
188
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
189 Programmer Type : butterfly
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
190 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
191
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
192 Connecting to programmer: .
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
193 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
194 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
195 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
196 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
197
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
198 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
199 Device code: 0x76
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
200
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
201 avrdude: devcode selected: 0x76
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
202 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
203
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
204 Reading | ################################################## | 100% 0.00s
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
205
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
206 avrdude: Device signature = 0x1e940a
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
207 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
208 Safemode disabled.
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
209 avrdude: reading flash memory:
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
210
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
211 Reading | ################################################## | 100% 0.26s
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
212
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
213 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
214
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
215 avrdude done. Thank you.
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
216
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
217 Much better!
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
218
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
219 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
220
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
221 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
222
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
223 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
224 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
225 (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
226 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
227
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
228
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
229 .. _`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
230 .. _Prologix: http://prologix.biz/
bc305adb1847 [prologix] new blog on upgrading prologix's firmware in Linux
David Douard <david.douard@logilab.fr>
parents:
diff changeset
231 .. _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
232 .. _`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
233 .. _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
234 .. _`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
235 .. _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
236 .. _avr109: http://www.atmel.com/Images/doc1644.pdf

mercurial