Author Topic: Unified tektool released ! (Firmware flash tools for old Tektronix TDS series)  (Read 4240 times)

slbender and 1 Guest are viewing this topic.

Offline madao

  • Frequent Contributor
  • **
  • Posts: 307
  • Country: de
Hello people

What is  unified tektool ?  It is  a tools, which can  dump and write over GPIB memory of Tektronix TDS with 3 digit serie. (except  TDS200/300 Series)

Reason for  my project with  "unified tektool"
https://www.eevblog.com/forum/repair/tekfwtool-for-tds540c-firmware-upgrade/
(Long story)
 Short story: tekfwtool  can't support other than  Flash 28F160S5 (which it is using in later TDS 500D/700D series) and other tektool can only 28F016SA (use in  C & early D serie).  Need for tools for flashing of older instrument is high.
(Whit this tektool/tekfwtool , you can read and write memory of old instruments, but not program of flash)


I have write tektool, which support  all flash type  in  old TDS serie, it use auto-detection for flash-operation. Since TDS540 with  28F010 up to  TDS784D with 28F160S5.
A little disadvantage:  Program of flash take much more time (up to 40 minute for unit with 28F020, most ~12-15 minute, with  NI PCI-GPIB) Programming with USB-GPIB-Adapter take nearly one hour.   tektool & tekfwtool is faster (page programming /small 68k code )
A side notice:  unified tektool can also flashing firmware to old TDS400 and new TDS400A serie. (It  was a bit difficult, i guess, my TDS420 has not so good flash) But it is POSSIBLE ! :-) (my TDS430A corpse with TDS420 CPU live again)

Supported flash:
Quote
      //0x01a7  = 28F010 (AMD)            
      //0x012a  = 28F020 (AMD)            
      //0x89b4  = 28F010 (intel)            
      //0x89bd  = 28F020 (intel)            
      //0x89a0  = 28F016SA
      //0x89a2  = 28F008SA
      //0xb0d0  = 28F160S5   
                              




How to use ?
Connect GPIB cable to o'scope.
 Important step: switch unit to "unprotect" and power it -> unit start into bootloader mode.
After success flashing  ->  switch back to protect.
[attach=2]
TDS500-700 serie
[attach=3]
TDS400 serie

Quote
0.)identify of flash type (optional, recommend)
   put of  string "tektool -i  -b 0x1000000 -l 0x10"


1.)save of  nvsram  (not for TDS400 serie, unknown address)
   put of  string "tektool -r  example.bin -b 0x4000000 -l 0x20000"  (recommend  0x100000)
   
2.)save of old firmware
   put of  string "tektool -r  example.bin -b 0x1000000 -l 0x400000"  (by 28F010 = 0x180000, by 28F020 = 0x300000 instead 0x400000)

3.) fill zero to flash ( only for old flash as 28F010 and 28F020)
   put of  string "tektool -z   -b 0x1000000 -l 0x10
   
   
4.)clear of firmware
   put of string "tektool -e -b 0x1000000 -l 0x10"
   
5.)flashing of firmware
   put of string "tektool -p  example.bin -b 0x1000000 -l 0x400000" (by 28F010 = 0x180000, by 28F020 = 0x300000 instead 0x400000)
   
6.)writing of nvsram (optional, not for TDS400 serie, unknown address)
   put  of string "tektool -w example.bin -b 0x4000000 -l 0x20000" (recommend  0x100000)

(VERY recommend:  Switch unit off and on, before verify of firmware. Pleas wait 10 seconds after power-it , then switch  protect-switch to "protect" for  safe verify.)

7.)verify of firmware (optional)   
   put  of string "tektool -v example.bin -b 0x1000000 -l 0x400000" (28F010= 0x180000, 28F020 = 0x300000 instead 0x400000)
   
   
   "example.bin"  , you can  calling him as you wants, but "*.bin is important.


[attach=1]

Notice: 
All firmware of flash except   28F010 and 28F020 is  "0x400000" (4 MB ) length
28F010 (TDS540 and similar) , "0x180000" (1.5 MB) length
28F020 ( TDS544A, old 700A-Serie)  , 0x300000 (3 MB ) length
Notice┬▓:  -l = length, little L, not big I

And the most important notice: It is your risk, pleas don't hit me, if your unit is bricked.




A little bad news: C-sourcefile, i want not at frist to publish it. Because i don't know about law & right.    It is heavy modified  tektool.c to  cover all old TDS-instrument.  And: I have strange  c coding style. I am offended/insulting often for this style. :palm:
@ragge, you can contact me for getting of c-sourcefile.

Here a compiled  tektool for using with NI-Adapter  (GPIB0, IEE488.2 driver from NI) and Windows PC (7 & 10)
[attach=4]

I can compile executable file for you.
Pleas give me   sourcefile  from your  GPIB adapter (Agilent, whatever) and i compile for you.
Sourcefile is most *.h file and *.c or  *.obj. Pleas read programmer manual from your gpib adapter.


Greetings
matt



« Last Edit: April 26, 2020, 11:05:47 am by madao »
 
The following users thanked this post: BravoV, bdivi, rodd, Nx-1997, analogRF, shakalnokturn, Tantratron, Smoky, hgross

Online Nx-1997

  • Regular Contributor
  • *
  • Posts: 85
  • Country: ca
Re: Unified tektool released ! (Firmware flash tools for old TDS series)
« Reply #1 on: February 13, 2020, 06:21:03 am »
Thanks. Tested working on TDS620B (Flash type: 28F008SA). GPIB adapter used: 82357B, on Win 10.
 
The following users thanked this post: madao

Offline madao

  • Frequent Contributor
  • **
  • Posts: 307
  • Country: de
Re: Unified tektool released ! (Firmware flash tools for old TDS series)
« Reply #2 on: February 13, 2020, 02:36:49 pm »
Oh,   it runs with agilent adapter.  But  50 Minute for program is damn slow !
Program on 28F008SA time take with NI PCI-GPIB ~14 minute.


But, most important:  It runs.

Can i get  TDS620B Firmware ?

Greetings
matt

« Last Edit: February 13, 2020, 02:59:19 pm by madao »
 

Online Nx-1997

  • Regular Contributor
  • *
  • Posts: 85
  • Country: ca
Yes, of course. For NVRAM I used the "0x04000000 -l 0xa0000" address. I think its possible to convert a 620B to 644B and beyond but I haven't really tried anything.
 

Offline madao

  • Frequent Contributor
  • **
  • Posts: 307
  • Country: de
TDS620B Firmware cover also TDS684B,680B , 644B, 640B and 620B.
(I have open this Firmware with notepad++ and search "TDS 620B". TDS620B is not alone.)
In this case,  swapping of acquisition board is enough.
But thanks for  firmware, i  am collecting of firmware for  puplishing at someone time.



A little notice: It exists few instrument with hole of 384kb between  128kB (important) and  512kB (not important, only waveform, etc) NVSRAM.  Only  TDS500A (probably also TDS600A ) Series have  512kB NVSRAM (DS1250/1650) with important dump.
 

Offline madao

  • Frequent Contributor
  • **
  • Posts: 307
  • Country: de
A news notice:  unified tektool is capable to program firmware to  TDS400A Series (with 28F008SA Flash, 0x400000  length)

It take with  NI GPIB-USB-A (old, frist GPIB.-USB  from NI) much time  (read , it needs ~ 400 seconds ).  (very  recommed: use GPIB-Card for desktop-PC, it is much faster)

Greetings
matt
« Last Edit: February 16, 2020, 06:32:56 pm by madao »
 

Offline charlyd

  • Frequent Contributor
  • **
  • Posts: 346
  • Country: nl
Hello Madao, this is old info.  i assume your are new to the topic tektronix and  good to add is that the version tektool & tekfwtool  differ a lot.
Not really in what they do but the time to program your firmware with tektool it takes hours for the TDS784D and with tekfwtool a few minutes.

you can also get your EEPROM content with a tool called : getcaldate ( i will check the exactname when i am at home)
 

Offline madao

  • Frequent Contributor
  • **
  • Posts: 307
  • Country: de
Reason, why my unified tektool need more time:  It use telegram (2 bytes)  for bootloader of TDS instrument and it has much latency. (PCI-GPIB and  TDS784D  ~1ms, TDS400 is much slower,  ~1.5ms )
Sidenotice: USB-based  GPIB-controller is famous for slow responsing. If you strech telegram up to 512 bytes and you lose time at only one latency of 1-1.5ms. -> Data transfer is much faster.  This way is impossible for flash writing (write-time 10┬Ás ) .

Tekfwtool upload  68k code to TDS instrument's RAM and 68k code receives data-block (512byte)  from PC  and control  flash-programming.  This is why, tekfwtool is much faster.   tektool (only 28F016SA) use block flash program. It is also faster. Probably, i'll adding block-programming for  newer flash  for saving time. But i can't write  68k code.

But: you can use tekfwtool for flashing unit with 28F160S5.  unified tektool take with NI PCI_GPIB at  TDS784D:  14 minutes. Of coruse, i use also  tekfwtool, if i want program flash at   500/700D.

Most important:  Now,  you can program  flash at old devices with 28F010/020 & 28F008SA. This was my main goal for unified tektool.
 (and you have no risk  for buying the spare part with wrong firmware. -> You can buy someone and program with correct firmware, finished !)

Greetings
matt
« Last Edit: February 26, 2020, 03:36:08 pm by madao »
 

Offline analogRF

  • Frequent Contributor
  • **
  • Posts: 780
  • Country: ca
Hi madao,
I used your tool in my setup (win98se, PCI-GPIB, NI488.2 drivers from NI ftp server that were good for win98)
to flash my dead TDS784D. It has two E28F016SA chips.

I can read the NVRAM and the flash. But when I try "-i" option it gives 0x0000 and cannot identify the flash ID
and when I try to program it, again it fails at the start because of the same error (flash ID not identified)

any advice?
 

Offline youxiaojie

  • Contributor
  • Posts: 9
  • Country: cn
can this program backup the firmware?
 

Offline pigrew

  • Frequent Contributor
  • **
  • Posts: 623
  • Country: us
can this program backup the firmware?

Yes, I was able to do that with the read command (see the first post in this thread (tektool -r  example.bin -b 0x1000000 -l 0x400000)).

I used a NI GPIB-USB-HS adapter on Windows 10 to upgrade the firmware of a TDS784D from 7.2e to 7.4e. It took 91 minutes for the firmware write to finish. Enabling HS488 settings for the adapter didn't make any significant speed difference. Reading the firmware was faster, about 70 seconds.

The boot ROM was identical for firmwares 7.2e and 7.4e (there was no need to update it). I did backup the NVRAM, too.
« Last Edit: June 07, 2020, 03:59:50 pm by pigrew »
 

Offline madao

  • Frequent Contributor
  • **
  • Posts: 307
  • Country: de
Hi madao,
I used your tool in my setup (win98se, PCI-GPIB, NI488.2 drivers from NI ftp server that were good for win98)
to flash my dead TDS784D. It has two E28F016SA chips.

I can read the NVRAM and the flash. But when I try "-i" option it gives 0x0000 and cannot identify the flash ID
and when I try to program it, again it fails at the start because of the same error (flash ID not identified)

any advice?

Hello,
have you type   "tektool -i -b 0x1000000 -l 0x1" ?  (lenght variabel is not important 0x10 or 0x1223, whatever, but base adress must be correct )

It must came  Flash ID,  if  only zero, then is someone on Flash-Ciruit wrong-.

It is correct,  without known FlashID  is  Flashing impossible. It is neccessary, because flash algorithm is not same at all type .


Greetings
matt
« Last Edit: June 07, 2020, 03:05:33 pm by madao »
 
The following users thanked this post: Galen

Offline Galen

  • Regular Contributor
  • *
  • Posts: 113
  • Country: cn
Hi Matt, so great you completed this project.  I download it and saved as 'Unify tektool'.  I don't have opportunity to try it as of now.  But thank you very much for developed this tool and clarified many things about the TDSxxx scopes flushing, and your help on my TDS540C firmware updating. Good job Sir!
« Last Edit: June 15, 2020, 08:13:10 am by Galen »
Delighted when problem fixed
 

Offline rodd

  • Regular Contributor
  • *
  • Posts: 73
  • Country: br
Hi,

I have succeeded in using the Unified Tektool with an Agilent 82357B USB/GPIB adapter!!!

Thanks to the replies of madao and NX-1997 I succeeded and would like to post what worked for me.

My setup: Computer with Windows 10 x64, Agilent 82357B USB/GPIB adapter (probably a Chines clone) and Scope: TDS684A.
I started by installing the Keysight IOLibSuite_18_1_25310 and the CommandExpert_MSI_1_9_034.
I started the app and was happy to see that it could connect to the scope.
Then I started a command DOS window (as an admin) and tried Tektools, but it was unable to connect to the scope.
The error message was:
"Unable to open device
ibsta = 0x8000 iberr = 01"
I sent a PM to madao, which siad that this error meant that Tektool was unable to connect to the scope.
He suggested to install the NI-VISA drivers and make sure that I had flipped the protect switch to unprotect ( which I had forgotten to do the first time).
So I searched and found the installer of the NI-VISA drivers called NI IVI Compliance Package.
During install there was a message of conflicting  VISA drivers (NI and Keysight).
After installing the driver I tried again without success.
So I PM NX-1997 that had posted in this thread he could do it with the USB/GPIB and Windows 10, and he suggested to " configure the Keysight software to use NI VISA, also configure it to support legacy NI-488.2" and so I did and changed the configuration according to the attached images.
After this last change I could make it work.
I am not sure if there would be necessary to install the NI driver package.
[attach=1][attach=2]

« Last Edit: September 25, 2020, 07:14:58 pm by rodd »
 

Offline madao

  • Frequent Contributor
  • **
  • Posts: 307
  • Country: de
I can't  help here much, because i have only  NI-Adapter.

But  few member  has success with  Keysight /Fakilent  USB Adapter.
It must be possible.

My fresh idea:  You can try:   Start your Tek normal and  send *IDN? over communication tool from agilent/Keysight  , did it reply?
I have a  case, which  TLS216 from friend have fried GPIB-ciruit.
And check please: Is your GPIB Adapter setting to  GPIB0 ?  It may not being GPIB1 and somes.

Greetings
matt
« Last Edit: September 25, 2020, 05:57:26 am by madao »
 

Online Nx-1997

  • Regular Contributor
  • *
  • Posts: 85
  • Country: ca
I used this program with a fake Agilent 82357B on windows 10 to backup and flash the firmware on my tds784d and tds684b. So I can confirm that this program supports Agilent 82357B, fake and genuine ones. Its good practice to install NI visa because Keysight visa is usually not supported by many softwares. For example, python library pyvisa only supports NI visa.

I wonder if we can mod the firmware to include more features, unfortunately I am not skilled enough to pull this off.
 

Offline lucatz

  • Contributor
  • Posts: 38
  • Country: ca
Hi All,

Where do we find TDS latest firmware files? Tektronix does not post officially it seems

Thanks
Luca
 

Online Nx-1997

  • Regular Contributor
  • *
  • Posts: 85
  • Country: ca
 
The following users thanked this post: lucatz

Offline madao

  • Frequent Contributor
  • **
  • Posts: 307
  • Country: de
Or ask me !

If you wanted a TDS540D Firmware, you can use TDS784D Firmware. Explain: TDS500/700 firmware is since C serie same.   But you must stay to frist firmware-count. You can't use  Firmware 7.4e from TDS784D  on TDS784D with 6.3e.  You can  update from 5.0e to 5.3e (i am looking after this firmware), but not to  6.6e.

Greetings
matt
 

Offline lucatz

  • Contributor
  • Posts: 38
  • Country: ca
Hi Madao,

I have TDS540a with version 3.8.3e. I found some other ones on ko4bb that seem compatible with version 3.8.7e. I basically look into file in hex mode to see if my 540A shows in list. If you have anything more recent would be happy to get it. Does upgrading FW erase calibration? I used your tool  ( Thank YOU  :-+ ) to backup mine and also backed up NVram. Hopefully when bat goes out i will be in good posture to restore.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 15189
  • Country: us
Is it possible to get this to support the Prologix USB GPIB adapters? Due to some clones that have been developed Prologix is rapidly becoming the defacto standard, at least for hobbyists.
 

Offline madao

  • Frequent Contributor
  • **
  • Posts: 307
  • Country: de
If you give me  source file for prologix GPIB controller, then is it possible.

Or: can you try  with  this tektool ?  (This tektool run with agilent & NI controller)

@lucatz

yes , it is in most case possible: upgrade without losing of calibration data, because most firmware use same calibration data schema.
If it is failed, you can going back to  old  firmware.
« Last Edit: December 13, 2020, 01:51:33 pm by madao »
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 15189
  • Country: us
The thread is here: https://www.eevblog.com/forum/projects/ar488-arduino-based-gpib-adapter/

It enumerates as a USB serial port and uses mostly standard GPIB commands.
 

Offline SergeyMinin

  • Newbie
  • Posts: 1
  • Country: ru
Hey. My TDS 654C oscilloscope has firmware version v5.1e. Does anyone have a newer firmware version for the TDS 654C? And please tell me is it true that version v5.2e from TDS 784C is suitable for my oscilloscope?

Sergey
 

Offline madao

  • Frequent Contributor
  • **
  • Posts: 307
  • Country: de
No,   TDS500/700 and TDS600 is extremely difference by  acquisition board.   You can put newest TDS500 Firmware to TDS700, if  suffix is same.  But never to  TDS600.  Same  with TDS600 firmware at  500/700 units.  Difference  between 500/700 is minor by software. (no colour display, it is all !)

A luck, you have asked me :-)

Greetings
matt
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf