[hack] STB arcadyan hmb2260

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Ierlandfan
  • Registratie: Augustus 2002
  • Laatst online: 17-05 17:13
Wat is het? Een STB die door KPN/XS4all/Telfort wordt geleverd.
Moeilijkheidsgraad: makkelijk
Waarom? Ik hou van een uitdaging.
Problemen: Start alleen nog op in cfe mode.
Wat kan je nu? Uhm..tijdelijk niet meer tv kijken via de Arcadyan.
(Het apparaat is Semi bricked)
Hoe? Dat ga ik nu uitleggen


Ok, dit is een soort van gelukte manier om het apparaat te hacken of onklaar te maken. Beide is gelukt :-) Om iedereen de moeite van het succes (of niet, net hoe je het bekijkt) te besparen volgt hier een stappenplan. Een hele korte overigens want het is heel erg simpel.

Eerst even de standaard waarschuwing.
Garantie>weg. Er zijn twee kleine stickers die je anders ook wel dat idee zouden geven.
Huis in brand, geen tv meer, buren kwaad, advocaat boos, koffie op>niet mijn schuld
Optioneel: vrouw/man en geen tv>Beide weg.
Voor alles geldt: Ik ben niet verantwoordelijk voor wat je uitspookt met je STB. Niet gaan klagen bij mij.
Anders heb je marktplaats, voor een euro of 30 heb je een nieuwe.

Goed, nu dit uit de weg is:

Het apparaat maak je open met vier schroeven onder de gelijmde rubberen voetjes.
(He, een warranty sticker! Lezen en zelf beslissen of je doorgaat)
Je klikt hem voorzichtig open.
De pcb heeft een 4 pins ttl aansluiting en een (gokje) 4 pins jtag aansluiting.
Sluit je TTL (3.3V!) naar USB of je TTL (3.3V) naar serieel naar USB verloopje aan.
(Mocht je een prolific ic in je USB >RS232 hebben, kan je daar ook een TTL (3.3V) naar USB van maken
Google dan even op modding-pl-2303-based-usb)

Ok, Baudrate 115200, 8N1. Heb je geen idee waar ik het zojuist over heb, stop dan maar of Google even.

Er is geen prompt (nog) alleen debug info (die ik heel handig niet heb opgeslagen want ik deed het via minicom)

Draai het apparaat om en aan de onderkant vind je een IC waarop staat welke versie van het apparaat je hebt.


Als je tijdens het booten binnen een seconde of 3-4 deze reset (pin 8 en 9 korsluiten uit mijn hoofd)
faalt de (ik denk crc check) en word je gedumt op de cfe prompt.

Op dit punt start de Arcadyan alleen nog maar op in CFE mode en je kan fluiten naar tv kijken.
(warned ya!)
Je kan hier ook niet veel. Je kan de dbl instellen, je kan wat spelen met het 7 segement display maaaarrr....ook alternatieve firmware inladen! Via tftp bijvoorbeeld.

Het nadeel is Arcadyan houdt zich niet aan de GPL en dus is die er (nog) niet.
Edit: de software is gebaseerd op Broadcom's Nexus-Trellis software en
Broadcom Open Source-based Reference Development Kit (RDK),
Mogelijk dat door te spelen met de dbl (security settings) ik het wel weer aan de praat krijg maar voorlopig is ie bricked.

Het zou fijn zijn als ik een log had zodat ik wist hoe de dbl settings waren ingesteld...

Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 15-05 21:59
Dealtje sluiten?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
BCM74290010

M00CDZSL2=1
LLMB=0000C000
BP=02000000
L2Cfg=1E7AD627
L2Buf=77707711
BrCfg=F01C200E
BrMod=02800801
BrZp0=44000000
BrZp1=00002000
#@

BCM97241B0 CFE v3.22, Endian Mode: Little
Build Date: Wed Oct  2 14:18:55 CST 2013 (chih@JD3810-Linux-Compier)
Copyright (C) Broadcom Corporation.

ReShmoo MEMC0

CPU speed:            1305MHz
DDR Frequency:        796 MHz
DDR Mode:             DDR3
Total memory(MEMC 0): 1024MB
MEMC 0 DDR Width:     32
Boot Device:          NAND
Total flash:          512MB
RTS VERSION:          20120402210459_7241
ETH0_PHY:             INT
ETH0_MDIO_MODE:       1
ETH0_SPEED:           100
ETH0_PHYADDR:         1

Initializing USB.

CFE initialized.

[INFO] Get RBL Flag Data
    Reading flash0.RBL size 0x20000 offset 0xa0000 ...... Success
[INFO] Get DBL1 Header Data
    Reading flash0.DBL1 size 0x20000 offset 0x0 ...... Success
[INFO] Get DBL2 Header Data
    Reading flash0.DBL2 size 0x20000 offset 0x0 ...... Success
[INFO] Run active DBL=1, flag state = 100
[INFO] Run current DBL1 
[INFO] arcShowRunDblError DBL1 state 100 DBL2 state -1, no change DBL, mark BBT 0, Error Loop 0
[INFO] arcRunDbl run select DBL1 state = 100
...
Loader:elf Filesys:raw Dev:flash0.DBL1 File:0x80000 Options:dbl=1 rblv=0x0305 mtdparts="brcmnand.0:0x100000@0x0(rbl),0x100000@0x100000(config),0x800000@0x200000(dbl-primary),0x800000@0xa00000(dbl-secondary),0x1e3c0000@0x1200000(system)"
Loading: 0x80001000/4354208 0x804280a0/90944 Entry address is 0x802408e0
Starting program at 0x802408e0

Linux version 3.3.8-1.3 (mcart@mcart) (gcc version 4.5.3 (Broadcom stbgcc-4.5.3-2.4) ) #2 Tue Jun 25 17:01:11 CEST 2013


NAND partitions

code:
1
2
3
4
5
6
7
8
0x000000000000-0x000000100000 : "rbl"
0x000000100000-0x000000200000 : "config"
0x000000200000-0x000000a00000 : "dbl-primary"
0x000000a00000-0x000001200000 : "dbl-secondary"
0x000001200000-0x000001600000 : "ffs"
0x000001600000-0x00001f5c0000 : "system"
0x000001600000-0x000002400000 : "kernel"
0x000002400000-0x00001f5c0000 : "rootfs"


Als tegenprestatie zie ik graag een dump tegemoet :+

[ Voor 10% gewijzigd door Thralas op 27-04-2015 14:56 ]


Acties:
  • 0 Henk 'm!

  • Ierlandfan
  • Registratie: Augustus 2002
  • Laatst online: 17-05 17:13
Ik moet even wachten op een DIY D1201 EZ-USB FX2LP CY7C68013A USB Development Board. Ik vermoed overigens dat de dump encrypted is. Mijn idee is om er XBMC/Kodi op te draaien...het apparaat heeft dezelfde hardware als een vu+.

Acties:
  • +1 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 15-05 21:59
Ook de first stage bootloader?

De (latere stage) firmware kun je namelijk zo uit de multicast streams vissen, alleen zijn die crypted. De bootloader dumpt zelfs een van de fields uit de header als 'encryption key', maar gezien dit 256 bytes betreft vermoed ik dat het een RSA wrapped AES key is ofzo.

Als je een idee hebt hoe ik de STB kan downgraden heb ik ook nog wat ideetjes; maandenlang draaide het ding v3.0.7, maar een paar weken terug heeft met v4.0.4 gepushed waar ik wat minder happy mee ben, so to speak.

Acties:
  • 0 Henk 'm!

  • BAJansen
  • Registratie: Oktober 2012
  • Laatst online: 27-04 12:07
Heeft een van jullie nog wat interessants met het kastje voor elkaar gekregen? Ik heb er onlangs een gekocht in een kringloop voor het astronomische bedrag van €1,50, maar als Ziggo abonnee heb ik er, los van de usb-stick die erin zit, op dit moment niet heel veel aan.

Acties:
  • +1 Henk 'm!

Anoniem: 187449

* ow heeeeeeeeeeeeeeeeel oude meuk :o

[ Voor 161% gewijzigd door Anoniem: 187449 op 23-10-2015 17:14 ]


Acties:
  • 0 Henk 'm!

  • TallyO
  • Registratie: Juli 2013
  • Laatst online: 08-10-2024
bump

Acties:
  • 0 Henk 'm!

  • Chest3r
  • Registratie: December 2015
  • Laatst online: 09-05 14:04
Misschien even meer toelichten waarom je dit topic bumpt?

Acties:
  • 0 Henk 'm!

  • DurkVell
  • Registratie: Augustus 2011
  • Laatst online: 17-05 07:46
offtopic:
Waar is Borroz eigenlijk?

Acties:
  • 0 Henk 'm!

  • Morzzz
  • Registratie: Januari 2006
  • Laatst online: 16-05 20:28
Ik geef dit topicje even een schopje aangezien ik een ietswat subtielere methode zoek om dit ding in de CFE prompt te krijgen zonder pinnetjes kort te sluiten op de flash chip :-)

Met wat button bashing heb ik deze combo's gevonden:

Automatic startup canceled via Ctrl-C
Ethernet disabled via Ctrl-E
USB set to manual mode via Ctrl-U

Iemand de gouden tip om hier een andere firmware (en uiteindelijk Kodi) op te krijgen? Of heeft dit ding een JTAG header ergens?

Acties:
  • 0 Henk 'm!

  • Morzzz
  • Registratie: Januari 2006
  • Laatst online: 16-05 20:28
Er is helaas nog altijd geen driver voor onze BCM97241, maar wel voor de BCM9742x welke ook draaien op de BCM7429 chip.

Broadband Studio 3:
https://cloud.mail.ru/public/NBek/BKaqu4gWb

BCM97429 (BCM7429 chip):
https://cloud.mail.ru/public/5RWu/xx69beaZ9

Afbeeldingslocatie: https://image.ibb.co/bNU1qw/1.jpg
Afbeeldingslocatie: https://preview.ibb.co/iugEAw/2.png
Afbeeldingslocatie: https://preview.ibb.co/fL8GOG/3.png

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Unhandled exception has occurred in Broadband Studio. If you click Continue, the application will ignore this error and attempt to continue. If you click Abort, the application will close immediately.
The given key was not present in the dictionary.   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at Broadcom.BroadbandStudio.Asic.ChipObjectCollection`1.get_Item(String key)
   at Broadcom.Flash.IO.NandController.SetupRegisters(Chip chip)
   at Broadcom.Flash.IO.NandController.SetupController()
   at Broadcom.Flash.NandFlash.Initialize()
   at Broadcom.Flash.FlashController.Initialize()
   at Broadcom.Flash.UI.FlashControl.buttonFlashInfoRefresh_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


bcm97241.device
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <device name="Bcm97241" type="Broadcom.Driver.ReferenceBoard.Bcm97429CB">
    <assembly>Drivers\Boards\Bcm97429CB.dll</assembly>
    <title>Cable/Satellite Digital Set-Top Box Chip HD MPEG-2/AVC/VC-1 Dual Decode/Display </title>
    <description>Cable/Satellite Digital Set-Top Box Chip HD MPEG-2/AVC/VC-1 Dual Decode/Display</description>
  </device>

  <UIProcess>

    <!--Optional: This is the default if not specified-->
    <form type="Broadcom.BroadbandStudio.Windows.Forms.MainBoardForm, Broadcom.BroadbandStudio.Windows"/>

    <!--Optional: This is the default if not specified-->
    <navigatorUI type="Broadcom.BroadbandStudio.Windows.Forms.BoardNavigator, Broadcom.BroadbandStudio.Windows"/>

    <!--The device supported by the views-->
    <device name="Bcm97429CB"/>

    <!--ViewManager-->
    <views>
      <view name="Startup"
            type="Broadcom.BroadbandStudio.Windows.Forms.BoardStartupForm, Broadcom.BroadbandStudio.Windows"
            state="Document" />
      <view name="Registers"
            type="Broadcom.BroadbandStudio.Windows.Forms.ChipViewForm, Broadcom.BroadbandStudio.Windows"
            state="Document" />
      <view name="Flash Explorer"
            type="Broadcom.Flash.UI.FlashForm, Broadcom.Flash"
            state="float" />
      <view name="Memory"
            type="Broadcom.BroadbandStudio.Windows.Forms.MemoryViewerForm, Broadcom.BroadbandStudio.Windows"
            state="Document" />

      <!-- Video Tools -->

      <view name="BVN Map"
      type="Broadcom.Video.BvnForm, Broadcom.Video"
      state="Document" />
      <view name="Capture Buffer"
      type="Broadcom.Video.CaptureBufferReadForm, Broadcom.Video"
      state="Document" />
      <view name="Image Analyzer"
      type="Broadcom.Video.ImageAnalyzerMainForm, Broadcom.Video"
      state="Document" />
      <!--<view name="MoCA Control"
            type="Broadcom.Receiver.DSL.MoCAForm, Bcm7429"
            state="Document" />-->

    </views>

    <!--Navigator-->
    <navigation>
      <page name="Main">
        <group name="General">
          <item view="Startup" />
          <item view="Registers" />
          <item view="Flash Explorer" />
          <item view="Memory" />
        </group>
        <!--<group name="MoCA Management">
          <item view="MoCA Control" />
        </group>-->
        
            <group name="Video Tools">
              <item view="BVN Map" />
              <item view="Capture Buffer" />
              <item view="Image Analyzer" />
              
            </group> 
      </page>
    </navigation>
  </UIProcess>

</configuration>


Flash chip:
Samsung K9F4G08U0x

Samsung K9F4G08U0C.xml
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="utf-8"?>
<Flash maker="Samsung" name="Samsung K9F4G08U0C" type="NAND" technology="SLC">
  <Command type="Nand" programmode="Block" maxbyte="2048"/>
  <ID>
    <Maker maxbyte="1" offset="0x00">0xEC</Maker>
    <Device maxbyte="1">
      <DevId offset="0x01">0xDC</DevId>
    </Device>
  </ID>
  <Size unit="gbit">4</Size>
  <Sector uniform="true" secure="false">
    <MaxSector>4096</MaxSector>
    <Size unit="kbyte">128</Size>
  </Sector>
</Flash>

Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 15-05 21:59
Morzzz schreef op woensdag 8 november 2017 @ 19:47:
Er is helaas nog altijd geen driver voor onze BCM97241
Wat bedoel je met driver?

Last time I checked was er alleen een proprietary graphics(/video/audio)-toolkit (Broadcom Nexus, zie @Ierlandfan's opmerking) voor die SoC.

En geen kernel source. Want daar doet KPN niet aan (ofzo). Maakt het draaien van Kodi niet heel triviaal.

Die error ziet er wel oplosbaar uit met een debugger/decompiler; goed gevonden die programming port..

Acties:
  • 0 Henk 'm!

  • Morzzz
  • Registratie: Januari 2006
  • Laatst online: 16-05 20:28
Thralas schreef op woensdag 8 november 2017 @ 20:09:
[...]


Wat bedoel je met driver?

Last time I checked was er alleen een proprietary graphics(/video/audio)-toolkit (Broadcom Nexus, zie @Ierlandfan's opmerking) voor die SoC.

En geen kernel source. Want daar doet KPN niet aan (ofzo). Maakt het draaien van Kodi niet heel triviaal.

Die error ziet er wel oplosbaar uit met een debugger/decompiler; goed gevonden die programming port..
De driver voor de Broadband Studio software.

stblinux en toolchains zijn wel degelijk open source: https://github.com/Broadcom

Het idee is om de CFE van een Sunray Solo3 (ook BCM97241) op het ding te flashen, welke support heeft voor alles wat Arcadyan uit het CFE gesloopt heeft. Hiermee krijgen we TFTP/usbboot support en kunnen we vanuit het CFE homebrew firmware (GeeXboX?) op het ding flashen.

Flashchip lossolderen en herprogrammeren zou ook kunnen, maar ja... 8)7

Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 15-05 21:59
Oh, dat is inderdaad een redelijke kernel tree.

Alleen zonder graphics/video driver. Daar heb je de 'reference SDK' voor nodig, en dan heb je nog alleen nexus.ko met bijbehorende Broadcom API ipv. iets dat gemakkelijk een videootje geaccelereerd afspeelt.

Acties:
  • 0 Henk 'm!

  • Ierlandfan
  • Registratie: Augustus 2002
  • Laatst online: 17-05 17:13
De Vu Solo Duo en derivaten hebben standaard al Kodi in hun firmware zitten, deze gebruiken vrijwel dezelfde hardware dus als we iets kunnen flashen is het een piece of cake. Nice find van die driver!Kon hem toen niet vinden of werkte niet, top dat je hem werkend heb gekregen. Vanavond ofzo ook maar even mee spelen.

Acties:
  • 0 Henk 'm!

  • Morzzz
  • Registratie: Januari 2006
  • Laatst online: 16-05 20:28
Die BCM97421 staat ook pas sinds eerder dit jaar op het internet, en dan nog op een of ander Russisch forum.

In hoeverre het mogelijk is om Vu+ firmware hierop te draaien hangt denk ik af van de security chip:

https://jb8a8f8.com/suppo...uritychip-conversion.265/

Wellicht kun je deze aan de i2c porten hangen en Black Hole draaien :-p

Voorzichtigheid is wel geboden aangezien Vu+ in 2014 nog een dikke timebomb gedropt heeft waardoor menig clone box is gebricked:

https://forums.openpli.or...clone-attack/#entry418708

Vu+ proprietary drivers:

/lib/modules/x.x.x/extra/
code:
1
2
3
4
5
6
bcm_event.ko
brcmfb.ko
dvb_base.ko
dvb-bcm7241.ko
fpga_directc.ko
procmk.ko

[ Voor 11% gewijzigd door Morzzz op 09-11-2017 14:32 ]


Acties:
  • 0 Henk 'm!

  • Ierlandfan
  • Registratie: Augustus 2002
  • Laatst online: 17-05 17:13
Flashchip lossolderen en herprogrammeren zou ook kunnen, maar ja..

*Denkt even terug aan lang vervlogen tijden en iets met een mislukt (laat) experiment met een flashchip, bier en een soldeerbout...Levensles nummer <tel-kwijt>

Dat van die Timebomb was idd niet echt heel erg aardig van ze.

[ Voor 12% gewijzigd door Ierlandfan op 10-11-2017 00:14 ]


Acties:
  • 0 Henk 'm!

  • Ierlandfan
  • Registratie: Augustus 2002
  • Laatst online: 17-05 17:13
Wellicht dat het probleem zit in de oude versie (3.0) van BBS.
BBS 3.1 heeft een andere (nieuwere) layout. Ik zal eens kijken of ik mijn Cypres boardje nog ergens kan vinden en dan kan ik vanavond wel even kijken wat er gebeurd.

Acties:
  • 0 Henk 'm!

  • Morzzz
  • Registratie: Januari 2006
  • Laatst online: 16-05 20:28
De layout kan ook verschillen door andere tabs gedefinieerd in de .device file... Anyways, probeer het eens. Misschien moet ik het elders zoeken :-)

De versie van BBS die ik draai is 3.1.60125. Dat is ook de enige versie die ik gevonden heb die werkt met deze plugin/driver. Oudere versies geven een SQL error...

[ Voor 36% gewijzigd door Morzzz op 11-11-2017 05:04 ]


Acties:
  • 0 Henk 'm!

  • starpc
  • Registratie: Augustus 2011
  • Laatst online: 11-03-2023
ik heb via een kennis ook zo een kasje gekregen.

zelf heb ik KPN maar ik zie geen heil om het kasje aan te gaan sluiten op mijn tv gegevens.

wat ik wel weet van de kasjes. als je ze start en de aan knop lang vast hou krijg je een menu.
dan kan je de software wissen.
en gaat het kasje herstarten. en via internet. iig via de tv VLAN software zoeken en downloaden,
kunnen we dan niet met een pc tool software proberen in te gaan laden via de netwerk poort ?

ik heb geen flash ervaring.. ik probeer alleen mee te denken.

Acties:
  • 0 Henk 'm!

  • MaxTermux
  • Registratie: November 2019
  • Laatst online: 09-07-2020
Kan iemand effe een stappenplan en software link plus tools van de stb arcadyan hack geven
En ja ik weet de gevaren ervan

Acties:
  • +2 Henk 'm!

  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

MaxTermux schreef op woensdag 6 november 2019 @ 13:49:
Kan iemand effe een stappenplan en software link plus tools van de stb arcadyan hack geven
En ja ik weet de gevaren ervan
Welkom MaxTermux.

Ik betwijfel of iemand "effe" voor jou de stappen gaat uitschrijven, voor zover er uberhaupt al een voorgekauwde oplossing is.

Acties:
  • 0 Henk 'm!

  • rubberduck666
  • Registratie: Juni 2010
  • Laatst online: 23-03 12:55
Thralas schreef op maandag 27 april 2015 @ 18:29:
Ook de first stage bootloader?

De (latere stage) firmware kun je namelijk zo uit de multicast streams vissen, alleen zijn die crypted. De bootloader dumpt zelfs een van de fields uit de header als 'encryption key', maar gezien dit 256 bytes betreft vermoed ik dat het een RSA wrapped AES key is ofzo.

Als je een idee hebt hoe ik de STB kan downgraden heb ik ook nog wat ideetjes; maandenlang draaide het ding v3.0.7, maar een paar weken terug heeft met v4.0.4 gepushed waar ik wat minder happy mee ben, so to speak.
Hallo Thralas,

Ook een update gehad waardoor de guide ontzettend traag is geworden, zou mooi zijn als ik dit ongedaan zou kunnen maken. Dus ik hou mij aanbevolen!! Alvast hartelijk dank.

Rudy _/-\o_

Acties:
  • 0 Henk 'm!

  • Illusion
  • Registratie: November 2000
  • Laatst online: 23:24

Illusion

(the art of)

rubberduck666 schreef op zaterdag 9 januari 2021 @ 16:04:
[...]


Hallo Thralas,

Ook een update gehad waardoor de guide ontzettend traag is geworden, zou mooi zijn als ik dit ongedaan zou kunnen maken. Dus ik hou mij aanbevolen!! Alvast hartelijk dank.

Rudy _/-\o_
Gewoon even geduld hebben. Nieuwe firmware komt er aan.
nieuws: KPN start update tv-ontvanger voor sneller menu en donkere modus

Soms ben ik er wel, en soms ook weer niet.


Acties:
  • 0 Henk 'm!

  • rubberduck666
  • Registratie: Juni 2010
  • Laatst online: 23-03 12:55
Had al gelezen dat die pipoos van KPN de zaak al hadden verstierd, maar nog niet gelezen van de aankomende "updat". Hartelijk dank!!

Acties:
  • 0 Henk 'm!

  • mvandenberg
  • Registratie: Februari 2019
  • Laatst online: 15-05 17:32
Bump? Of hebben jullie deze meuk allemaal al weggegooid?

Acties:
  • +1 Henk 'm!

  • mvandenberg
  • Registratie: Februari 2019
  • Laatst online: 15-05 17:32
code:
1
2
3
4
5
6
Arcadyan Version : V3.05.00, BCM97429SV base on CFE v3.22 core v3.53, Endian Mode: Little
[ARCADYAN] Build for Hardware HMB2260C_1-99, Version = R01
           Flash Type : Single-Nand, flash size : no nor flash
           AVS_STATE : AVS ENABLE
           For RBL
*** command status = 0


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CFE> help
Available commands:

arc_version         show Arcadyan CFE version
arc_7seg_led        set 7 Segment LED
arc_flag_dbl        Read or Write config flag partition
arc_flag_rbl        Read or Write config flag partition
batch               Load a batch file into memory and execute it
go                  Start a previously loaded program.
load                Load an executable file into memory without executing it
boot                Load an executable file into memory and execute it
show devices        Display information about the installed devices.
help                Obtain help for CFE commands

For more information about a command, enter 'help command-name'
*** command status = 0
CFE>


code:
1
2
3
4
5
6
7
8
9
10
11
12
CFE> show devices
Device Name          Description
-------------------  ---------------------------------------------------------
              uart0  16550 DUART at 0xB0406700 channel 0
         flash0.RBL  New NAND flash at 00000000 offset 00000000 size 1024KB spare 768KB
        flash0.data  New NAND flash at 00000000 offset 00100000 size 1024KB spare 512KB
        flash0.DBL1  New NAND flash at 00000000 offset 00200000 size 8192KB spare 2048KB
        flash0.DBL2  New NAND flash at 00000000 offset 00A00000 size 8192KB spare 2048KB
      flash0.system  New NAND flash at 00000000 offset 01200000 size 495360KB spare 5120KB
     flash0.kreserv  New NAND flash at 00000000 offset 1F5C0000 size 10496KB spare 5120KB
*** command status = 0
CFE>


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
CFE> help boot

  SUMMARY

     Load an executable file into memory and execute it

  USAGE

     boot [-options] host:filename|dev:filename

     This command loads and executes a program from a boot device
     By default, 'boot' will load a raw binary at virtual
     address 0x20000000 and then jump to that address

  OPTIONS

             -elf Load the file as an ELF executable
            -srec Load the file as ASCII S-records
             -raw Load the file as a raw binary
               -z Load gzip-compressed file (default)
              -nz Load uncompressed file
           -aes=* Specify AES-128 Key and IV
        -loader=* Specify CFE loader name
            -tftp Load the file using the TFTP protocol
           -fatfs Load the file from a FAT file system
           -rawfs Load the file from an unformatted file system
            -fs=* Specify CFE file system name
           -max=* Specify the maximum number of bytes to load with the -addr option (raw only)
          -addr=* Specify the load address (hex) for the -max option (raw only)
         -noclose Don't close network link before executing program

*** command status = 0

[ Voor 5% gewijzigd door mvandenberg op 17-05-2024 23:52 ]


Acties:
  • 0 Henk 'm!

  • mvandenberg
  • Registratie: Februari 2019
  • Laatst online: 15-05 17:32
Ierlandfan schreef op maandag 9 maart 2015 @ 20:49:

Het zou fijn zijn als ik een log had zodat ik wist hoe de dbl settings waren ingesteld...
arc_flag_dbl -state 100 -dbl 1
arc_flag_dbl -state 100 -dbl 2

rebooten, en hij start weer op.
Het topic is van 2015 dus het kan zijn dat je hem niet meer hebt

Acties:
  • +1 Henk 'm!

  • mvandenberg
  • Registratie: Februari 2019
  • Laatst online: 15-05 17:32
Nou, ik heb dezelfde poging gedaan als @Morzzz met Broadcom Studio in een virtualbox met WindowsXp en een EZFX USB2 boardje. Inderdaad wel communicatie met de BCM maar flash uitlezen geeft een dikke vette error.

Met Dotpeek kun je die .NET exe's en DLL's wel uitpakken en volgen waar het fout gaat, maar het lijkt erop dat er geen data doorkomt. Ook geheugen uitlezen gaat niet.

Daarom maar de moeilijke weg gekozen en de NAND eraf gehaald en in de TSOP48 adapter gestopt.

Afbeeldingslocatie: https://tweakers.net/i/wN4shou1sHIQQtIi-3cxYlEIL94=/x800/filters:strip_icc():strip_exif()/f/image/TfvbJWdG0x2lrUnPc2bIvA1K.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/sn3PcqUZigBmrQ_FqamcEm2AG6I=/800x/filters:strip_exif()/f/image/mIrNtjDm0H9kMQqx7ZRmSxjR.png?f=fotoalbum_large

Hier alvast een binwalk van de dump

EDIT: endianness was verkeerd om, dus de binwalk gaf een onlogische uitkomst. Alle 32bit words omgedraaid, en nu komt er dit uit rollen:


code:
1
2
3
4
5
6
7
8
DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
319048        0x4DE48         Copyright string: "Copyright (C) Broadcom Corporation."
341548        0x5362C         AES S-Box
341804        0x5372C         AES Inverse S-Box
342583        0x53A37         Copyright string: "Copyright 1995-1998 Mark Adler "
13962323      0xD50C53        MySQL MISAM index file Version 7
19464192      0x1290000       UBI erase count header, version: 1, EC: 0x4F, VID header offset: 0x800, data offset: 0x1000

[ Voor 30% gewijzigd door mvandenberg op 05-06-2024 21:08 ]


Acties:
  • +1 Henk 'm!

  • mvandenberg
  • Registratie: Februari 2019
  • Laatst online: 15-05 17:32
Inmiddels maar een extra ontvanger gekocht en ook gedumpt.

de CFE is identiek, maar de andere blokken zijn soms een beetje en soms helemaal verschillend.
De versies geprint in de console zijn hetzelfde.

Data en DBL1/DBL2 lijkt geen kaas van te maken (geen ASCII, geen MIPS instructies), dus mogelijk is die encrypted.

SHA sums:

a01ef088dd0fc7fc5c286a01720f791c93eceb54 kpn1_rbl.bin
f4fe857fcf8aad9db213bc2d4a172fd94d903eee kpn2_rbl.bin

enige verschil tussen beide is op 0xA0000 (dit byte is ofwel 0x01 of 0x02 afhankelijk van de actieve DBL)

op offset 0x4D314 staat nog een 256 byte key/signature/etc in hexidecimaal ASCII

[ Voor 6% gewijzigd door mvandenberg op 16-06-2024 08:54 ]


Acties:
  • +3 Henk 'm!

  • mvandenberg
  • Registratie: Februari 2019
  • Laatst online: 15-05 17:32
Inmiddels code execution mogelijk op de HMB2260!

Het lijkt dat de bootloader helemaal gestript is qua mogelijkheden, maar er is er in ieder geval één overgebleven die we kunnen gebruiken en dat is de UART loader met s-records:

code:
1
2
3
4
5
6
7
8
9
10
CFE> load -srec -nz uart0:hello
Loader:srec Filesys:raw Dev:uart0 File:hello Options:(null)
Loading: [ERROR] can't set IOCTL command 23
0005 lines
Entry address is 0x81000000
* command status = 0
CFE> go 0x81000000
Starting program at 0x81000000

HELLOHELLO


De code is een simpel stukje assembly dat afgeleid is van de routine die de letters BCM74290010 print bij het booten. (16550 UART op 0xB0406700)

code:
1
2
3
mipsel-elf-as hello.s -o hello.o -mips32
mipsel-elf-objcopy --dump-section .text=hello.bin hello.o
srec_cat hello.bin -binary -offset 0x81000000 -Execution_Start_Address 0x81000000 -o output.srec


De regel S5 moet je weer weghalen, want daar kan de CFE niets mee.
Ik zal binnenkort een python scriptje schrijven waarmee je eenvoudig een binary kan loaden op de HMB2260.

Uiteraard moet je ook even de mipsel-elf toolchain bouwen om baremetal binaries te maken.

De economische waarde schat ik waarschijnlijk nul, enkel voor de shits & giggles.
Zou leuk zijn als ik er uiteindelijk Doom of pong op kan draaien.

Acties:
  • +2 Henk 'm!

  • mvandenberg
  • Registratie: Februari 2019
  • Laatst online: 15-05 17:32
Ondertussen kan het ook C programma's draaien.Zodoende een simpele memory dumper gemaakt.

RBL Code tussen 0x0 - 0x20000 -> naar SRAM?
RBL Code vanaf 0x20000 -> 0x8700 0000 (DDR)

gezien het geheugen 1GB is is dit 0x4000 0000 in size.

Dit betekent dus 8000 0000 - C000 0000 = DDR (1GB).
getest in dumper er inderdaad een dikke exception vanaf 0xC000 0000 bij access.

0x0000 0000 - 0x4000 0000 is ook hetzelfde DDR (Physical address / Virtual Address)


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Sending binary file by using srec...
boot -srec -nz uart0:hello
Loader:srec Filesys:raw Dev:uart0 File:hello Options:(null)
Loading: [ERROR] can't set IOCTL command 23
0052 lines
Entry address is 0x81000000
Starting program at 0x81000000


0x86FFFFE0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF    ................
0x86FFFFF0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF    ................
0x87000000: 26 01 11 04 00 00 00 00 82 24 11 04 00 00 00 00    &........$......
...

[ Voor 17% gewijzigd door mvandenberg op 24-06-2024 23:04 ]


Acties:
  • +2 Henk 'm!

  • mvandenberg
  • Registratie: Februari 2019
  • Laatst online: 15-05 17:32
Afbeeldingslocatie: https://tweakers.net/i/bi5wkDniYR9E2uMAAzvH-XCRfPI=/full-fit-in/4000x4000/filters:no_upscale():fill(white):gifsicle():strip_exif()/f/image/NUHRqCkmo5P2XkNWBML0zSx7.gif?f=user_large

Acties:
  • +2 Henk 'm!

  • mvandenberg
  • Registratie: Februari 2019
  • Laatst online: 15-05 17:32
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
CFE> go 87023aa4
Starting program at 0x87023aa4

========================================================================

CPU speed:            1305MHz
DDR Frequency:        796 MHz
DDR Mode:             DDR3
Total memory(MEMC 0): 1024MB
MEMC 0 DDR Width:     32
Boot Device:          NAND
Total flash:          512MB
RTS VERSION:          20120402210459_7241
ETH0_PHY:             INT
ETH0_MDIO_MODE:       1
ETH0_SPEED:           100
ETH0_PHYADDR:         1

Total memory used by CFE:  0x87000000 - 0x87033AF8 (211704)
Initialized Data:          0x870315D0 - 0x870336E0 (8464)
BSS Area:                  0x870336E0 - 0x87033AF8 (1048)
Local Heap:                0x87033C00 - 0x87433C00 (4194304)
Stack Area:                0x87433C00 - 0x87435C00 (8192)
Text (code) segment:       0x87000000 - 0x8700C574 (50548)

CFE driver build information:
LDR:     ELF   1; BIN   1; SREC  1
UI:      LEVEL 3; MIN   0
FS:      FAT   0; FAT32 0
NET:     STACK 0; ENET  0; TCP   0
USB:     STACK 1; ETH   1; DISK  1; SERIAL   1; HID 1; HC 0x33
FLASH:   P30   1; P33   1; 128J3 1; Spansion 1
========================================================================
========================================================================

Acties:
  • +1 Henk 'm!

  • Yelti
  • Registratie: Januari 2009
  • Laatst online: 16-05 09:10
Leuk om te volgen :-).
Tof projectje

Acties:
  • +1 Henk 'm!

  • mvandenberg
  • Registratie: Februari 2019
  • Laatst online: 15-05 17:32
Dankjewel,

Op de achtergrond ben ik nog wel met meer dingen bezig zoals de huidige firmware structuur.
Voor mijn eigen doel wil ik nog de NAND controller en basic video output uitvogelen.

Gezien er voor mijn geen bruikbare documentatie is voor deze chip, heb ik een driver van BBS bekeken, en dat blijkt een .SDF bestand te zijn (Microsoft SQL CE Compact). Deze kan je omzetten naar SQL of CSV, zodoende wat meer inzicht gekregen in de registermap:

P.S. We kijken hier naar de BCM7429 maar het is eigenlijk een BCM7241.

Afbeeldingslocatie: https://tweakers.net/i/OByuSPQfgLAQC7ge8_rRA0jMzm8=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/SfvylLbyzvGIXaKAQQAsSDO3.png?f=user_large

Met een mooi python scriptje, heb je dit zo omgezet in een leesbare documentatie (doxygen / markdown)

[ Voor 6% gewijzigd door mvandenberg op 06-07-2024 20:24 ]


Acties:
  • +1 Henk 'm!

  • mvandenberg
  • Registratie: Februari 2019
  • Laatst online: 15-05 17:32
Inmiddels al weer een paar dagen verder.

Nog niet heel veel verder gekomen, maar wel een paar remarks:

- BBS leest bijna geen enkele register uit (value altijd 0x00000000, terwijl ik weet dat er wat anders in staat. Dit geldt echter niet voor het BSP->BSP_CONTROL->FW_FLAGS register. Deze zit op 0x1032B078 en laat zich wel uitlezen in BBS met de I2C verbinding via de EZFX2 interface. Als ik vanaf mijn applicatie die met specifieke waarde vul (0xB032B078) dan zie ik diezelfde waarde ook terug in BBS. ook GLB_IRDY geeft de waarde 6. Feit is dus dat de interface registers kan uitlezen, echter nog (zeer) beperkt. Daarom werkt het flash lezen denk ik ook nog niet.

- Timers gevonden, UPGCORE->UPG_27->TIMER.
Standaard staat TIMER0 al aan in CFE. TIMER1 aan zetten mbv bijhorende registers werkt.
TIMER0_CTRL 0x104066C8
TIMER0_STAT 0x104066D8

- Exceptions staan 0x80000000 en dan volgens mij iedere 0x80 offset. Daar staat een klein stukje instructie die de Exception in k0 zet en dan de jump maakt naar de routine. Deze kan je dus ook aanpassen (handig voor access op addressen waar je niet zomaar aan mag zitten)

- Exception base kan je aanpassen dmv MTC0/MFC0 instructies. Misschien voor een ander gesneden koek, maar het blijkt dus dat een MIPS processor als deze een apparate co-processor heeft voor uitlezen van CPU registers, zetten van vectoren, etc.


Nog geen FLASH dumper helaas, ook geen HDMI nog

Acties:
  • +1 Henk 'm!

  • mvandenberg
  • Registratie: Februari 2019
  • Laatst online: 15-05 17:32
Inmiddels gevonden hoe je een een DBL opstart vanuit de commandline!

Bleek dat het nodig was om de AES en IV in hoofdletters mee te geven op de prompt, anders decode hij hem niet en geeft hij de melding 'no valid ELF header'

Uiteraard ook de opties -z en -elf meegeven, en de kernel opties (post ik later).

Bij mij geeft DBL2 net iets meer verbose dan DBL1, en beiden geven kernel output en een inlogprompt.

Mogelijke usernames waar je mee in kunt loggen zijn 'root' en 'utc', maar beide hebben een sha256crypt password in /etc/passwd, dus john zal daar nog even druk mee zijn.

Overigens draait er ook een dropbear ssh server op port 9010 (2017.78 uit mn hoofd). Hiermee kan je ook shell toegang krijgen, maar enkel door public key authenticatie.

Voor de gebruiker 'utc' is een authorized_keys file aanwezig in het rootfs maar daar kan je weinig mee.

Er staat ook een private key ergens op t rootfs, maar die lijkt voor andere diensten gebruikt te worden.

Wel zijn er tools beschikbaar om een willekeurige cfe te flashen, dus eenmaal prompt, heb je geen losse nand flasher meer nodig.

Acties:
  • 0 Henk 'm!

  • mvandenberg
  • Registratie: Februari 2019
  • Laatst online: 15-05 17:32
Even een omslag, maar inmiddels heb ik een programma kunnen maken dat het NAND flash kan dumpen vanuit de CFE. Het enige wat je hiervoor nodig hebt is een FTDI USB TTL kabeltje, een pincet om het NAND kortstondig te pesten en een python script.

De standaard baudrate is 115200, maar deze valt makkelijk aan te passen door de Divisor Latch te veranderen. Gezien de UART een std 16550 is, staat de register documentatie ruimschoots op het internet.
standaard staat deze DLAT op 44, maar bijv. 11 werkt vlekkeloos (460800 baud), misschien wel hoger. Scheelt toch weer!

code:
1
2
3
4
5
    // Set UART to 460800
    setmem(0x1040670C,0x80);
    setmem(0x10406704,0);
    setmem(0x10406700,44); // 11=460800 44=115200
    setmem(0x1040670C,0x03);


NAND is wat lastiger, maar met wat moeite toch repos en patches kunnen vinden die over brcmnand en iprocnand gaan.

Zie bijv. https://github.com/shalzz...7/iproc/iproc_nand.c#L339

Er zijn meerdere manieren mogelijk, maar welke in ieder geval werkt is:

setmem(0x1041280C,a); // CMD_READ_ADDR
setmem(0x10412804,0x01000000); // CMD_START CMD_PAGE_READ

het CMD_READ_ADDR is logischerwijs het address wat je uit wilt lezen met een bepaalde 512 byte alignment.
CMD_START_CMD is het register dat een commando verstuurd naar de NAND controller.

Afbeeldingslocatie: https://tweakers.net/i/8yO8VDOm-qXrtusi-HVSqx6XDrw=/x800/filters:strip_icc():strip_exif()/f/image/Yftj5HnKWrXp6d0NOCCaawL9.jpg?f=fotoalbum_large

In de controller heb je dan een 256 512 byte FLASH cache register die de data bevat van het opgevraagde adres.


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
BCM74290010

M00CDZSL2=1
LLMB=0000C000
BP=02000000
L2Cfg=1E7AD627
L2Buf=77707711
BrCfg=F01C200E
BrMod=02800801
BrZp0=44000000
BrZp1=00002000
#@

BCM97241B0 CFE v3.22, Endian Mode: Little
Build Date: Wed Oct  2 14:18:55 CST 2013 (chih@JD3810-Linux-Compier)
Copyright (C) Broadcom Corporation.

ReShmoo MEMC0

CPU speed:            1305MHz
DDR Frequency:        796 MHz
DDR Mode:             DDR3
Total memory(MEMC 0): 1024MB
MEMC 0 DDR Width:     32
Boot Device:          NAND
Total flash:          512MB
RTS VERSION:          20120402210459_7241
ETH0_PHY:             INT
ETH0_MDIO_MODE:       1
ETH0_SPEED:           100
ETH0_PHYADDR:         1

Initializing USB.

CFE initialized.

[INFO] Get RBL Flag Data
    Reading flash0.RBL size 0x20000 offset 0xa0000 ...... Success
[INFO] Get DBL1 Header Data
    Reading flash0.DBL1 size 0x20000 offset 0x0 ...... Success
[INFO] Get DBL2 Header Data
    Reading flash0.DBL2 size 0x20000 offset 0x0 ...... Success
[INFO] All DBL state error, enter while loop!
[INFO] arcShowRunDblError DBL1 state 101 DBL2 state 101, no change DBL, mark BBT 0, Error Loop 1
CFE> Trigger!
Sending binary file by using srec...
boot -srec -nz uart0:hello
Loader:srec Filesys:raw Dev:uart0 File:hello Options:(null)
Loading: [ERROR] can't set IOCTL command 23
0195 lines
Entry address is 0x81000000
Starting program at 0x81000000

HMB2260 Loader v0.01 MvdB 2024
0x80000000: 01 87 1B 3C 78 A0 7B 27 08 00 60 03 08 00 1A 24    ...<x.{'..`....$
0x80000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0x80000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0x80000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0x80000040: 90 B6 03 87 00 00 00 00 00 00 00 00 00 00 00 00    ................
0x80000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0x80000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0x80000070: 00 00 C0 BF 00 00 00 00 00 00 00 00 00 00 00 00    ................
0xB040412C: 00 00 22 00
CHIP_FAMILY_ID : 0xB0404000: 10 00 29 74
PRODUCT_ID     : 0xB0404004: 10 00 41 72
SW_INIT_0_STAT : 0xB0404320: 00 00 00 00
STRAP_VALUE_0  : 0xB040401C: 00 00 00 00
SUN_L2_CPU_STAT: 0xB0403000: 00 00 00 00
JTAG_OTP_GENC0 : 0xB0374100: 00 00 00 00
FW_FLAGS       : 0xB032B078: 00 00 00 45
FW_FLAGS       : 0xB032B078: FF FF FF FF
TIMER0_CTRL    : 0xB04066C8: 98 7F 33 C0
TIMER1_CTRL    : 0xB04066CC: 00 00 00 00
TIMER1_CTRL    : 0xB04066CC: 00 00 00 CF
TIMER2_CTRL    : 0xB04066D0: 00 00 00 00
TIMER0_STAT    : 0xB04066D8: E9 6F 05 40
TIMER0_STAT    : 0xB04066D8: E3 60 07 40
TIMER0_STAT    : 0xB04066D8: C2 51 09 40
TIMER1_STAT    : 0xB04066DC: 07 C8 0A 00
TIMER1_STAT    : 0xB04066DC: F9 B9 0C 00
TIMER1_STAT    : 0xB04066DC: EA AA 0E 00
TIMER2_STAT    : 0xB04066E0: 00 00 00 00
TIMER2_STAT    : 0xB04066E0: 00 00 00 00
TIMER2_STAT    : 0xB04066E0: 00 00 00 00
UART0_LCR      : 0xB040670C: 03 00 00 00
UART0_THR      : 0xB0406700: 30 00 00 00
UART0_IER      : 0xB0406704: 00 00 00 00
UART0_THR      : 0xB0406700: 30 00 00 00
UART0_IER      : 0xB0406704: 00 00 00 00
FLASH_DEV_ID   : 0xB0412994: 95 10 DC EC
FLASH_DEV_ID_EX: 0xB0412998: DC EC EC 55
FLASH_READ_ADDR: 0xB0412920: 00 FE A1 00
INTFC_STATUS   : 0xB0412814: 00 00 00 F0
0x00000000: 20 00 00 10 00 00 00 00 5A 00 04 24 40 B0 09 3C     .......Z..$@..<
0x00000010: 64 43 29 35 00 00 24 AD 06 0D 11 04 00 00 00 00    dC)5..$.........
0x00000020: 80 53 04 3C 8E 1B 00 10 00 00 00 00 08 DB 02 24    .S.<...........$
0x00000030: 4A 00 04 24 AF 07 11 04 00 00 00 00 13 00 04 24    J..$...........$
0x00000040: 05 00 05 24 A9 1B 11 04 00 00 00 00 2A 71 04 3C    ...$........*q.<
0x00000050: 21 00 84 34 03 00 60 10 00 00 00 00 2A 71 04 3C    !..4..`.....*q.<
0x00000060: 3F 00 84 34 41 B0 08 3C 1C 24 08 35 00 00 08 8D    ?..4A..<.$.5....
0x00000070: E5 FF 88 10 00 00 00 00 12 00 04 24 F2 03 00 10    ...........$....
.... en meer

Acties:
  • 0 Henk 'm!

  • mvandenberg
  • Registratie: Februari 2019
  • Laatst online: 15-05 17:32
Zoals beloofd zou ik het pythonscript en de applicatie voor de hmb2260 nog posten.

https://github.com/mathijsvandenberg/hmb2260

Het is nog verre van af, maar ik denk dat een ander hier redelijk makkelijk mee aan de gang kan.

Acties:
  • 0 Henk 'm!

  • mvandenberg
  • Registratie: Februari 2019
  • Laatst online: 15-05 17:32
Inmiddels heb ik de applicatie en pythonscript aangepast dat hij ook nand kan dumpen op basis van parameters. Dit gebeurd op 1267200 baud (hoger gaat mijn FTDI kabel mank op).

Ook kan ik nu blocks erasen (argument is nog steeds het geheugenadres, niet het blocknummer kwam ik achter nadat mijn HBM2260 niet meer wou opstarten (hele CFE weggepoetst).

Bij het dumpen wordt er per 512 byte ook nog een CRC32 meegestuurd om na te gaan of de data goed is overgekomen, een python script controleert dit en zet de dump om in valid data.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
0x81000020 [0.34%]boot -srec -nz uart0:hmb2260loader
Loader:srec Filesys:raw Dev:uart0 File:hmb2260loader Options:(null)
Loading: [ERROR] can't set IOCTL command 23
0x810024e0 [100.19%]
Bye!
0295 lines
Entry address is 0x81000000
Starting program at 0x81000000

HMB2260 Loader v0.01 MvdB 2024
CHIP_FAMILY_ID : 0xB0404000: 10 00 29 74
PRODUCT_ID     : 0xB0404004: 10 00 41 72
TIMER0_CTRL    : 0xB04066C8: 98 7F 33 C0
TIMER1_CTRL    : 0xB04066CC: 00 00 00 00
TIMER1_CTRL    : 0xB04066CC: 00 00 00 CF
TIMER2_CTRL    : 0xB04066D0: 00 00 00 00
TIMER0_STAT    : 0xB04066D8: DF C7 04 40
TIMER0_STAT    : 0xB04066D8: DD 48 06 40
TIMER0_STAT    : 0xB04066D8: DE C9 07 40
TIMER1_STAT    : 0xB04066DC: D9 AA 08 00
TIMER2_STAT    : 0xB04066E0: 00 00 00 00
UART0_LCR      : 0xB040670C: 03 00 00 00
UART0_THR      : 0xB0406700: 0A 00 00 00
UART0_IER      : 0xB0406704: 00 00 00 00
FLASH_DEV_ID   : 0xB0412994: 95 10 DC EC 
FLASH_DEV_ID_EX: 0xB0412998: DC EC EC 55
BAUD1267200
Elevating baudrate to 1267200!
r 280000 400
Read 280000 400
0x00280000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF    ................
0x00280010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF    ................
0x00280020: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF    ................
0x00280030: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF    ................
0x00280040: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF    ................
...


Update op github binnenkort!

Afbeeldingslocatie: https://tweakers.net/i/h5obRVHSs5dTU5xEp04R-kwm5PM=/800x/filters:strip_icc():strip_exif()/f/image/FX8NY8yquC05acaQvINBq1dJ.jpg?f=fotoalbum_large

[ Voor 43% gewijzigd door mvandenberg op 08-08-2024 00:23 ]

Pagina: 1