Mikrotik R11e-4G » History » Version 4
laforge, 02/07/2020 12:28 PM
1 | 1 | laforge | {{>toc}} |
---|---|---|---|
2 | |||
3 | h1. Mikrotik R11e-4G |
||
4 | |||
5 | 2 | laforge | This is a CAT4 LTE modem in mPCIe form factor based around the Altair [[ALT3800]] baseband chipset and the [[ALT6300]] RF transceiver. |
6 | |||
7 | |||
8 | 1 | laforge | h2. Pictures |
9 | |||
10 | !label.jpg! |
||
11 | |||
12 | !altair_lte-bb_side.jpg! |
||
13 | |||
14 | !altair_lte-rf_side.jpg! |
||
15 | 3 | laforge | |
16 | h2. Console / Boot |
||
17 | |||
18 | h3. Boot log |
||
19 | |||
20 | <pre> |
||
21 | NAND read: device 0 offset 0x5a00000, size 0x400000 |
||
22 | 4194304 bytes read: OK |
||
23 | device 0 offset 0x0, size 0x20 |
||
24 | 32 bytes read: OK |
||
25 | partition changed to nand0,5 |
||
26 | Scanning JFFS2 FS: ...... done. |
||
27 | find_inode failed for name=prop |
||
28 | load: Failed to find inode |
||
29 | ### JFFS2 LOAD ERROR<0> for /bsp/prop! |
||
30 | find_inode failed for name=iosysbp |
||
31 | load: Failed to find inode |
||
32 | ### JFFS2 LOAD ERROR<0> for /bsp/iosysbp! |
||
33 | >>>> bootfw: wakeUpLTE at 0xa039604c |
||
34 | >>>> bootfw: wakeUpPHY at 0xa0000488 |
||
35 | >>>> bootfw: wakeUpPHY2 at 0xa0069488 |
||
36 | |||
37 | Loading from nand0, offset 0x2dc0000 |
||
38 | Image Name: ALT3800 Linux |
||
39 | Image Type: MIPS Linux Kernel Image (gzip compressed) |
||
40 | Data Size: 2256997 Bytes = 2.2 MiB |
||
41 | Load Address: 82104000 |
||
42 | Entry Point: 8245d920 |
||
43 | |||
44 | NAND read: device 0 offset 0x30c0000, size 0x4000 |
||
45 | 16384 bytes read: OK |
||
46 | ## Booting kernel from Legacy Image at 82800000 ... |
||
47 | Image Name: ALT3800 Linux |
||
48 | Image Type: MIPS Linux Kernel Image (gzip compressed) |
||
49 | Data Size: 2256997 Bytes = 2.2 MiB |
||
50 | Load Address: 82104000 |
||
51 | Entry Point: 8245d920 |
||
52 | Verifying Checksum ... OK |
||
53 | ## Flattened Device Tree blob at 84000000 |
||
54 | Booting using the fdt blob at 0x84000000 |
||
55 | Uncompressing Kernel Image ... OK |
||
56 | Loading Device Tree to 82ff9000, end 82fff5ab ... OK |
||
57 | Building mtd parts altair,alt3800_nfc for device type 2 |
||
58 | </pre> |
||
59 | |||
60 | h3. u-boot environment |
||
61 | |||
62 | <pre> |
||
63 | baudrate=115200 |
||
64 | boot_default=run flash_boot |
||
65 | boot_nand_mtd=run nand_choose_rootfs; run flash_set_bootargs; nboot kernel${boot_number}; nand read ${dtb_addr} dtb${boot_number} ${dtb_size}; bootm ${loadaddr} - ${dtb_addr} |
||
66 | boot_nand_ramfs=run ram_set_bootargs; nboot kernel${boot_number}; bootm |
||
67 | boot_number=2 |
||
68 | boot_option=boot_default |
||
69 | boot_tftp_ramfs=run ram_set_bootargs; ${tftpbootcmd} vmlinux.uboot; bootm ${loadaddr} |
||
70 | bootcmd=if itest.b 0 == *a00d001b; then run ${boot_option}; else echo 'GUESS MODE - NO BOOT ALLOWED !!!'; fi |
||
71 | bootdelay=6 |
||
72 | bootm_low=0x82100000 |
||
73 | bootm_size=0x6000000 |
||
74 | cdc_connect_timeout=10 |
||
75 | consoledev=ttyS0 |
||
76 | dtb_addr=0x84000000 |
||
77 | dtb_file=alt3802.dtb |
||
78 | dtb_size=0x4000 |
||
79 | env_check=if test ${env_saved} = 0; then setenv env_saved 1; saveenv; fi |
||
80 | env_configured_size=0x4000 |
||
81 | env_saved=1 |
||
82 | erase_env_nand=nand erase.part env; nand erase.part backup_env |
||
83 | eth_phy_mode=rmii |
||
84 | ethact=usb_ether |
||
85 | ethaddr=00:E0:0C:00:95:02 |
||
86 | fastboot=setenv loadaddr ${fastboot_loadaddr};run loadfw; if test $? -eq 0; then bootfw ${unziped_fwaddr} 1; fi; run loadotp; if run loadbsp;then run process_fw; fi; |
||
87 | fastboot_loadaddr=0x82800000 |
||
88 | fdt_high=0x83000000 |
||
89 | fdtdbg=no |
||
90 | flash_boot=run nand_choose_rootfs; run flash_set_bootargs; run fastboot; nboot kernel${boot_number}; nand read ${dtb_addr} dtb${boot_number} ${dtb_size}; bootm ${loadaddr} - ${dtb_addr} |
||
91 | flash_set_bootargs=setenv bootargs $ip root=${root} rw rootfstype=jffs2 console=$consoledev,$kernel_baudrate $othbootargs $kernellog |
||
92 | gatewayip=0.0.0.0 |
||
93 | hostname=alt3800 |
||
94 | initrd_high=0x83000000 |
||
95 | ipaddr=10.0.0.1 |
||
96 | kernel_baudrate=115200 |
||
97 | kernel_file=uImage |
||
98 | kernellog=quiet |
||
99 | load_fw=run load_phy_fw; run load_lte_fw |
||
100 | load_lte_fw=${tftpbootcmd} $lte_fw; setenv fw_type LTE; bootelf |
||
101 | load_phy_fw=${tftpbootcmd} $phy_fw; setenv fw_type PHY; bootelf |
||
102 | loadaddr=0x80100000 |
||
103 | loadbsp=chpart nvm; fsloadbsp 1 ${ramFilesShAddr} band_list bandbp file_list bspfilesbp |
||
104 | loadfw= nand read.jffs2 ${loadaddr} modem_fw${boot_number}; unlzo ${loadaddr} ${unziped_fwaddr}; |
||
105 | loadotp=nandotp read ${ramOtpShAddr} spl 20 |
||
106 | lte_fw=PS100_RealPHY.elf |
||
107 | mtdparts=mtdparts=alt3800_nfc:512k(spl),768k(uboot1),768k(uboot2),256k(env),256k(backup_env),3m(nvm),3m(kernel1),256k(dtb1),37m(rootfs1),3m(kernel2),256k(dtb2),37m(rootfs2),4m(modem_fw1),4m(modem_fw2),-(tstorage) |
||
108 | nand128_mtdparts=mtdparts=alt3800_nfc:512k(spl),768k(uboot1),768k(uboot2),256k(env),256k(backup_env),3m(nvm),3m(kernel1),256k(dtb1),37m(rootfs1),3m(kernel2),256k(dtb2),37m(rootfs2),4m(modem_fw1),4m(modem_fw2),-(tstorage) |
||
109 | nand128_scheme2_mtdparts=mtdparts=alt3800_nfc:512k(spl),768k(uboot1),768k(uboot2),256k(env),256k(backup_env),3m(nvm),4m(kernel1),256k(dtb1),53m(rootfs1),4m(kernel2),256k(dtb2),53m(rootfs2),4m(modem_fw1),4m(modem_fw2) |
||
110 | nand256_mtdparts=mtdparts=alt3800_nfc:512k(spl),768k(uboot1),768k(uboot2),256k(env),256k(backup_env),3m(nvm),4m(kernel1),256k(dtb1),40m(rootfs1),4m(kernel2),256k(dtb2),40m(rootfs2),4m(modem_fw1),4m(modem_fw2),10m(ua),-(tstorage) |
||
111 | nand_choose_rootfs=if test 1 = ${boot_number}; then setenv root /dev/mtdblock8;else setenv root /dev/mtdblock11; fi |
||
112 | nand_uboot_file=u-boot.bin |
||
113 | nand_uboot_spl_file=u-boot-spl.bin.alt3800 |
||
114 | nc=run nchelp; setenv stdin nc;setenv stdout nc;setenv stderr nc |
||
115 | nchelp=echo On the host side run the script: ./netconsole $ipaddr $ncinport |
||
116 | ncinport=6665 |
||
117 | ncip=10.0.0.10 |
||
118 | ncmux=run nchelp; setenv stdout ${stdout},nc; setenv stdin ${stdin},nc; setenv stderr ${stderr},nc |
||
119 | ncoutport=6665 |
||
120 | netdev=eth0 |
||
121 | netmask=255.255.0.0 |
||
122 | nvm_file=nvm.jffs2.img |
||
123 | phy_dbgstreamer=0 |
||
124 | phy_fw=Lte.out |
||
125 | phy_sniffer=0 |
||
126 | preboot=run env_check; if test -n $prebootcmd; then echo; echo Running pre-boot command; run prebootcmd;fi; |
||
127 | process_fw=initfw; bootfw ${unziped_fwaddr} 0 |
||
128 | ramFilesShAddr=0xA030004c |
||
129 | ramOtpShAddr=0xA0300000 |
||
130 | ram_set_bootargs=setenv bootargs $ip root=/dev/ram rw console=$consoledev,$kernel_baudrate $othbootargs $kernellog |
||
131 | rootfs_file=rootfs.jffs2.img |
||
132 | ser=setenv stdin serial;setenv stdout serial;setenv stderr serial |
||
133 | serverip=10.0.0.10 |
||
134 | set_ip=setenv ip ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off |
||
135 | stderr=serial,usbtty |
||
136 | stdin=serial,usbtty |
||
137 | stdout=serial,usbtty |
||
138 | testdramaddress=no |
||
139 | testdramcache=yes |
||
140 | testdramcount=1 |
||
141 | testdramdata=no |
||
142 | testdramsize=0x08000000 |
||
143 | testdramstart=0x80100000 |
||
144 | testdramwalk=no |
||
145 | tftpbootcmd=tftpboot |
||
146 | toggle_boot_number=if test 1 = ${boot_number}; then set boot_number 2; else set boot_number 1; fi; saveenv |
||
147 | unziped_fwaddr=0x83000000 |
||
148 | update_all=run update_all_nand |
||
149 | update_all_nand=run update_kernel_nand update_dtb_nand update_rootfs_nand |
||
150 | update_dtb=run update_dtb_nand |
||
151 | update_dtb_nand=if ${tftpbootcmd} ${dtb_file}; then nand erase.part dtb${boot_number}; nand write ${loadaddr} dtb${boot_number} ${filesize}; fi |
||
152 | update_kernel=run update_kernel_nand |
||
153 | update_kernel_nand=if ${tftpbootcmd} ${kernel_file}; then nand erase.part kernel${boot_number}; nand write ${loadaddr} kernel${boot_number} ${filesize}; fi |
||
154 | update_linux=${tftpbootcmd} uImage |
||
155 | update_multi_img=run update_multi_img_nand |
||
156 | update_multi_img_nand=setenv kernel_file vmlinux.uboot; run update_kernel_nand |
||
157 | update_nvm=run update_nvm_nand |
||
158 | update_nvm_nand=if ${tftpbootcmd} ${nvm_file}; then nand erase.part nvm; nand write ${loadaddr} nvm ${filesize}; fi |
||
159 | update_ramdisk=${tftpbootcmd} $ramdiskaddr ramdisk.gz.uboot |
||
160 | update_rootfs=run update_rootfs_nand |
||
161 | update_rootfs_nand=if ${tftpbootcmd} ${rootfs_file}; then nand erase.part rootfs${boot_number}; nand write ${loadaddr} rootfs${boot_number} ${filesize}; fi |
||
162 | update_uboot=run update_uboot_nand |
||
163 | update_uboot_nand=run update_uboot_nand_spl update_uboot_nand_non_spl erase_env_nand |
||
164 | update_uboot_nand_non_spl=if ${tftpbootcmd} ${nand_uboot_file}; then nand erase.part uboot1; nand write ${loadaddr} uboot1 ${filesize}; nand erase.part uboot2; nand write ${loadaddr} uboot2 ${filesize}; fi |
||
165 | update_uboot_nand_spl=if ${tftpbootcmd} ${nand_uboot_spl_file}; then nand erase.part spl; nand write ${loadaddr} spl ${filesize}; fi |
||
166 | usbphymode=0 |
||
167 | usbtty=cdc_acm |
||
168 | ver=U-Boot 2012.10 (Aug 09 2018 - 10:17:38) |
||
169 | </pre> |
||
170 | |||
171 | 4 | laforge | h3. MTD partition layout |
172 | |||
173 | <pre> |
||
174 | device nand0 <alt3800_nfc>, # parts = 15 |
||
175 | #: name size offset mask_flags |
||
176 | 0: spl 0x00080000 0x00000000 0 |
||
177 | 1: uboot1 0x000c0000 0x00080000 0 |
||
178 | 2: uboot2 0x000c0000 0x00140000 0 |
||
179 | 3: env 0x00040000 0x00200000 0 |
||
180 | 4: backup_env 0x00040000 0x00240000 0 |
||
181 | 5: nvm 0x00300000 0x00280000 0 |
||
182 | 6: kernel1 0x00300000 0x00580000 0 |
||
183 | 7: dtb1 0x00040000 0x00880000 0 |
||
184 | 8: rootfs1 0x02500000 0x008c0000 0 |
||
185 | 9: kernel2 0x00300000 0x02dc0000 0 |
||
186 | 10: dtb2 0x00040000 0x030c0000 0 |
||
187 | 11: rootfs2 0x02500000 0x03100000 0 |
||
188 | 12: modem_fw1 0x00400000 0x05600000 0 |
||
189 | 13: modem_fw2 0x00400000 0x05a00000 0 |
||
190 | 14: tstorage 0x02200000 0x05e00000 0 |
||
191 | </pre> |
||
192 | 3 | laforge | |
193 | h2. Further Information |
||
194 | |||
195 | * https://fccid.io/TV7R11E4G |