タグ: FG-50E

FortiGate 50Eメモ

ファームウェアヘッダ

gzip圧縮前のデータに付するヘッダ

  0x0 - 0xf  : ?
 0x10 - 0x2f : Image Name
 0x30 - 0x17f: ?
0x180 - 0x183: Kernel Offset*
0x184 - 0x187: Kernel Length*
0x188 - 0x18b: RootFS Offset (ext2)*
0x18c - 0x18f: RootFS Length (ext2)*
0x190 - 0x193: DTB Offset
0x194 - 0x197: DTB Length
0x198 - 0x19b: Data Offset (jffs2)
0x19c - 0x19f: Data Length (jffs2)
0x1a0 - 0x1ff: ?

*: required for bootloader tftp
  • initramfsイメージとして投入する場合、Kernel Offset/Length, RootFS Offset/Lengthのみでチェックを通せた。RootFSの値2つについては、initramfsイメージにおいてはデータが存在しない為、0xFFFF0000(LE値の為、実際の値は 0x0000FFFF (65535 bytes))を置くことで通せた。マイナスにすると恐らくデータが存在しない扱いになってエラーとなる。
  • DTBのOffset/Lengthが存在しない場合、ブートローダはTFTPで渡したイメージを直接ブートする際bootargsを渡さなくなる模様。

その他

  • ブートローダにTFTPで渡すデータはgzipで圧縮されている必要がある。gzip圧縮する際のファイル名もチェックされているようで、 “FGT50E-0.00-FW-build0000-000000-patch00” の名前で通ることを確認済み。恐らくいくらか短縮可能で、最初の “FGT50E-” くらいしか見ていないような気もする(未検証)。→ “FGT50E” だけでチェックを通せた。
  • フロントのLAN1-5のSPEED LED 2色(緑/橙)とWAN1, WAN2のSPEED LED 2色のうち緑の計12個のLEDは、PHYやSwitchの直接管理ではなくI2CのGPIOエキスパンダにより提供されている。OpenWrtにおいてはPHYやSwitchがリンクスピードによるLEDトリガを提供しない為、メーカーファームのような挙動は恐らく不可。
    尚、WAN1, WAN2のSPEED LEDのうち橙 (100Mbps)についてはPHYの直接管理となっている為、100Mbpsでリンクした際問題無く点灯する。
    また、LINK/ACT LEDは全てPHY/Switchによる管理である為、これも問題無く機能する。
  • フロントに存在するLEDのうち、1か所に2色を持つものは両方を同時に点灯させることはできない配線になっている模様。
    片方を点けた状態でもう片方を点けようとすると、先に点いていた方が消灯し、後に点けようとした方も点灯しない。

FortiGate 50E

ヤフオクでサポートできそうなデバイスを探していた際、商品説明の “get hardware status” に含まれていた “Network Card Chipset” の “Marvell NETA” を見て衝動的に確保したもの(netaはMarvell SoCのイーサネットアダプタ)。
サポートできるかわからないものの、弄っていくのでメモ。

Switch, PHY

zone WAN LAN (88E6176)
port
(FG-50E)
WAN2 WAN1 5 4 3 2 1
port (88E1512, addr:0x0) (88E1512, addr:0x1) port0 port1 port2 port3 port4

MAC

確認中

  • LAN: BC:5C:4C:xx:xx:FD (Config, ethaddr (text))
  • WAN: BC:5C:4C:xx:xx:FC (Config, wanaddr (text))
  • 2.4G: BC:5C:4C:xx:xx:FE (Factory, 0x4 (hex))
  • 5G: BC:5C:4C:xx:xx:FF (Factory, 0x8004 (hex))

U-Boot

Fortinetのブート用プログラム?が呼ばれてしまう為U-Boot本体では中断できず

  • (ブートメニュー)
    [C]: Configure TFTP parameters.
    [R]: Review TFTP parameters.
    [T]: Initiate TFTP firmware transfer.
    [F]: Format boot device.
    [I]: System information.
    [B]: Boot with backup firmware and set as default.
    [Q]: Quit menu and continue to boot.
    [H]: Display this list of options.
    

  • [I]: System information. -> [I]: Display system information.
    Vendor ID       : Fortinet
    CPU family      : Cortex
    CPU model       : Cortex-A9
    CPU MHz         : 1600 MHz
    Cache size      : 64 KB
    Memory          : DDR SDRAM 2GB
    Platform ID   : FGT50E
    Serial number : FGT50E3Uxxxxxxxx
    BIOS       Ver:05000016
    Restricted mode : Disable
    Menu timeout    : 60
    

  • [R]: Review TFTP parameters.
    Image download port:    WAN1
    DHCP status:            Disabled
    Local VLAN ID:
    Local IP address:       192.168.1.188
    Local subnet mask:      255.255.255.0
    Local gateway:          192.168.1.254
    TFTP server IP address: 192.168.1.168
    Firmware file name:     image.out
    

  • [T]: Initiate TFTP firmware transfer.
    Please connect TFTP server to Ethernet port 'WAN1'.
    
    MAC: 70:4c:a5:26:4d:7c
    
    Connect to tftp server 192.168.1.168 ...
    
    ###########
    Image Received.
    Checking image... OK
    Save as Default firmware/Backup firmware/Run image without saving:[D/B/R]?
    

Kernel

FortiGateとしてのコンソールが表示されるのみ(dmesg無し

  • bootlog
     
    
    FortiGate-50E (17:37-01.31.2017)
    Ver:05000016
    Serial number: FGT50E3Uxxxxxxxx
    CPU(00): 1600MHz
    Total RAM: 2GB
    Initializing boot device...
    Initializing MAC... egiga1
    Please wait for OS to boot, or press any key to display configuration menu..........
    
    Booting OS...
    
    Reading boot image... 2808320 bytes.
    Initializing firewall...
    
    
    
    
    
    
    
    System is starting...
    
    
    FGT50E3Uxxxxxxxx login: