Author Topic: Dim OLED Screen replacement for Agilent Keysight U1253A U1253B U1273A U1273AX  (Read 50929 times)

Per Hansson, shtirka and 2 Guests are viewing this topic.

Online DavidAlfa

  • Super Contributor
  • ***
  • Posts: 6127
  • Country: es
Make sure this is a mod issue!
Flash original and try again, same cap, same conditions.

If working, then I'll have a look.
« Last Edit: Yesterday at 09:21:23 am by DavidAlfa »
Hantek DSO2x1x            Drive        FAQ          DON'T BUY HANTEK! (Aka HALF-MADE)
Stm32 Soldering FW      Forum      Github      Donate
 

Offline Tarloth

  • Regular Contributor
  • *
  • Posts: 156
  • Country: ar
@Tarloth

Is the capacitor in circuit, or out of circuit?

What is the expected capacitor value? Is it within the measurement range of your meter (see specs)?

Hi voltsandjolts, as seen in the attached image, the capacitor is a small electrolytic of 10uF fixed to the multimeter test leads. The values it's aprox to the center of multimeter range.
« Last Edit: Yesterday at 06:41:09 pm by Tarloth »
 

Offline Tarloth

  • Regular Contributor
  • *
  • Posts: 156
  • Country: ar
Make sure this is a mod issue!
Flash original and try again, same cap, same conditions.

If working, then I'll have a look.

Hi David, attach the image, with the original firmware works ok, Thanks for your effort



 

Online voltsandjolts

  • Supporter
  • ****
  • Posts: 2369
  • Country: gb
@Tarloth

Is the capacitor in circuit, or out of circuit?

What is the expected capacitor value? Is it within the measurement range of your meter (see specs)?

Hi voltsandjolts, as seen in the attached image, the capacitor is a small electrolytic of 10uF fixed to the multimeter test leads. The values it's aprox to the center of multimeter range.

Ahh, ooops, I just looked at the thumbnail and didn't notice the capacitor, my bad.
 

Offline Tarloth

  • Regular Contributor
  • *
  • Posts: 156
  • Country: ar
No problem, most of the time I don't even see the pictures!

I suspect the bug is the same one that fbpicsous reported a while ago for the U1253B.

Anyway I am more than grateful for the work they took to produce this firmware, it's amazing!
 

Online DavidAlfa

  • Super Contributor
  • ***
  • Posts: 6127
  • Country: es
Okey! I'll try to find what's breaking that, probably some pattern search & replace that went too far.
This will only be fixed if you're willing to perform plenty of tests flashing different firmwares, until the place causing the bug is found.

About that previous bug report, he never came back, I can fix nothing that way, lazy people should just buy the $100 display.
« Last Edit: Yesterday at 08:04:32 pm by DavidAlfa »
Hantek DSO2x1x            Drive        FAQ          DON'T BUY HANTEK! (Aka HALF-MADE)
Stm32 Soldering FW      Forum      Github      Donate
 

Offline Tarloth

  • Regular Contributor
  • *
  • Posts: 156
  • Country: ar
David, count on me for do as many tests as necessary, it is the least that I can do to honor the effort that you have made.

---------

David, cuenta conmigo para la cantidad de pruebas que sean necesarias, es lo mínimo que puedo hacer para honrar el esfuerzo que ustedes hicieron.


THANKS
 

Online DavidAlfa

  • Super Contributor
  • ***
  • Posts: 6127
  • Country: es
I moved the routines elsewhere (To 0x7C00), made different tests replacing only certain calls.
Try in the same order as the filenames (1, 2, 3...).
The display won't look correct on most of them, ignore that, find the first one causing the capacitance bug.

Code: [Select]
                                                ################################
sub_7c00:                                       <<--- NEW OLED INIT ROUTINE
    call !sub_04f5          ;7c00  9a f5 04     <<--- Call original init
    movw ax,#0x00a1         ;7c03  10 a1 00     <<--- Segment remap cmd (Y-mirror)
    call !sub_05d1          ;7c06  9a d1 05     <<--- Send cmd
    movw ax,#0x00c0         ;7c09  10 c0 00     <<--- Scan direction cmd (X-mirror)
    call !sub_05d1          ;7c0c  9a d1 05     <<--- Send cmd
    ret                     ;7c0f  af           <<--- Return
   
                                                ################################
sub_7c10:                                       <<--- NEW OLED POSITION ROUTINE
    push hl                 ;7c10  b7     
    push ax                 ;7c11  b1     
    movw ax,sp              ;7c12  89 1c   
    movw hl,ax              ;7c14  d6     
    mov a,[hl]              ;7c15  87     
    xch a,x                 ;7c16  30     
    mov a,[hl+0x06]         ;7c17  ae 06   
    movw hl,ax              ;7c19  d6     
    mov a,#0xb0             ;7c1a  a1 b0        <<--- Row cmd 
    or a,l                  ;7c1c  61 6e   
    mov x,#0x00             ;7c1e  a0 00   
    xch a,x                 ;7c20  30     
    call !sub_05d1          ;7c21  9a d1 05     <<--- Send cmd
    mov a,h                 ;7c24  67           <<--- Move column value to reg A
    cmp a,!mem_7c2e         ;7c25  48 2e 7c     <<--- Compare with subtract value at 0x7c2e
    bnc lab_7c2d            ;7c28  9d 03        <<--- If carry set, load A with subtract value so it becomes 0 when subtracting
    mov a,!mem_7eca         ;7c2a  8e 2e 7c

lab_7c2d:
    sub a,#0x02             ;7c2d  1d 02        <<--- Subtract 2 to column value.
    mov h,a                 ;7c2f  77           <<--- Update H reg for later use in lower column cmd
    and a,#0x0f             ;7c30  5d 0f        <<--- Isolate lower column data
    mov x,#0x00             ;7c32  a0 00   
    xch a,x                 ;7c34  30     
    call !sub_05d1          ;7c35  9a d1 05     <<--- Send cmd
    mov a,h                 ;7c38  67           <<--- Move column value to reg A
    ror a,1                 ;7c39  24           <<--- Rotate 4 bits to the left to get higher column bits
    ror a,1                 ;7c3a  24     
    ror a,1                 ;7c3b  24     
    ror a,1                 ;7c3c  24     
    and a,#0x0f             ;7c3d  5d 0f        <<--- Isolate higher column data
    or a,#0x10              ;7c3f  6d 10        <<--- High column cmd
    mov x,#0x00             ;7c41  a0 00   
    xch a,x                 ;7c43  30     
    call !sub_05d1          ;7c44  9a d1 05     <<--- Send cmd
    pop ax                  ;7c47  b0     
    pop hl                  ;7c48  b6     
    ret                     ;7c49  af           <<--- Done, return

                                                ################################
sub_7c4a:                                       <<--- NEW OLED DRAW ROUTINE
    push hl                 ;7c4a  b7           <<--- Same as original function
    push ax                 ;7c4b  b1     
    push ax                 ;7c4c  b1     
    movw ax,sp              ;7c4d  89 1c   
    movw hl,ax              ;7c4f  d6     
    mov a,[hl+0x0a]         ;7c50  ae 0a   
    inc a                   ;7c52  41     
    mov [hl+0x0a],a         ;7c53  be 0a   
    mov x,#0x00             ;7c55  a0 00   
    xch a,x                 ;7c57  30     
    push ax                 ;7c58  b1     
    mov a,[hl+0x08]         ;7c59  ae 08   
    mov x,#0x00             ;7c5b  a0 00   
    xch a,x                 ;7c5d  30     
    call !sub_7c10          ;7c5e  9a 10 7c     <<--- Call new oled position function
    br !lab_0643            ;7c61  9b 43 06     <<--- Continue in original function
« Last Edit: Today at 08:55:34 am by DavidAlfa »
Hantek DSO2x1x            Drive        FAQ          DON'T BUY HANTEK! (Aka HALF-MADE)
Stm32 Soldering FW      Forum      Github      Donate
 

Offline Tarloth

  • Regular Contributor
  • *
  • Posts: 156
  • Country: ar
Starting the tests, I would like to point out that the files are identified by Windows Defender as a serious virus. I have ignored it but it may cause problems in the future.
 

Online DavidAlfa

  • Super Contributor
  • ***
  • Posts: 6127
  • Country: es
No idea why (But not imposible, I could be infected), here's Virustotal report for the file downloaded from the forum:

https://www.virustotal.com/gui/file/fc30981c573c42b18c7cd09bb6a76236332ee36d935caecb8fefceb01b9ec226?nocache=1
« Last Edit: Today at 03:50:35 am by DavidAlfa »
Hantek DSO2x1x            Drive        FAQ          DON'T BUY HANTEK! (Aka HALF-MADE)
Stm32 Soldering FW      Forum      Github      Donate
 

Offline Tarloth

  • Regular Contributor
  • *
  • Posts: 156
  • Country: ar
The tests was completed, lamentably the multimeter it's a brick now, any suggestion to unblock it?

File 1: screen inverted, Capacitance ok
File 2: Screen ok, capacitance Ok
File 3: Garbage in screen, a musical scale it's played, multimeter not respond to any successive upgrade, everything fails.

Link to video shown the fail https://drive.google.com/file/d/1SJMNOnMH57Hq_H5YWvAYYFderRuczy_d/view?usp=sharing

 

Offline Tarloth

  • Regular Contributor
  • *
  • Posts: 156
  • Country: ar
Hi David, file 2,3 an 4 are reported in defender as Trojan:Win32/Wacatac.B!ml
 

Online DavidAlfa

  • Super Contributor
  • ***
  • Posts: 6127
  • Country: es
Must be a false positive, the files are identical except the areas of the firmware.
Upload them to VirusTotal and see.

Sorry -  made a stupid mistake  :palm: Swapped the addresses of oled position and oled draw... so the DMM will crash.
I checked it four times before uploading to avoid something like this, but I was tired and didn't realize about my mistake.

Please run the unbricking procedure.

Attached the corrected files - Also for the U1253B.

These tests uses again 0x7F60 - only, leaving 0x7EE6 and 0x7EAC areas untouched.
Let's see if the capacitance keeps working! (I don't think so)
« Last Edit: Today at 09:18:48 am by DavidAlfa »
Hantek DSO2x1x            Drive        FAQ          DON'T BUY HANTEK! (Aka HALF-MADE)
Stm32 Soldering FW      Forum      Github      Donate
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf