[Avin USA] BMW F-Series

Search This thread

herobkse

Member
Jun 29, 2008
27
1
No it's not working. Tried multiple mcuupdate.bin files, but all via USB. I don't have a separate SD slot - I've got an X3 w/ a CIC system and all storage is internal - so haven't been able to try this method.

Same for me. Nothing is working.

I have tried to put many mcu *.bin file on both usb and sd card but it’s always stucking at “Ready to upgrade, please wait”. So the problem is not coming from usb or sd card.

Someone has an idea?
 

herobkse

Member
Jun 29, 2008
27
1
I have a newbie question : does the MCU version depend to android version ?

I mean: can we install a MCU version belonging to android 7.1 to an HU with android 8.1 ?
 

bradsinram

Senior Member
Oct 25, 2009
630
45
des moines ia
got my 8.1 px6 unit for my 09 E60 from 4x4shop about 2 weeks ago. havent really noticed any problems other than time setting itself to 24hr format, changing to manual time fixed it. bluetooth quality seems overall pretty good. it does seem like bass is a little washed out but I'm hoping when my carplay dongle shows up that helps. only other issue I've found is the boot screen shows android at the end of boot instead of just saying connected drive the whole boot process. I probably should've just went with a leespring unit off ali but i thought this was gonna come from Canada. turns out it drop shipped from china. The unit is very responsive and quick when switching between apps. youtube minimized and running in background while in other apps is quick and smooth. Id say overall I'm pretty satisfied.
 

herobkse

Member
Jun 29, 2008
27
1
got my 8.1 px6 unit for my 09 E60 from 4x4shop about 2 weeks ago. havent really noticed any problems other than time setting itself to 24hr format, changing to manual time fixed it. bluetooth quality seems overall pretty good. it does seem like bass is a little washed out but I'm hoping when my carplay dongle shows up that helps. only other issue I've found is the boot screen shows android at the end of boot instead of just saying connected drive the whole boot process. I probably should've just went with a leespring unit off ali but i thought this was gonna come from Canada. turns out it drop shipped from china. The unit is very responsive and quick when switching between apps. youtube minimized and running in background while in other apps is quick and smooth. Id say overall I'm pretty satisfied.
Hi bradsinram,

Could you please give me a screenshot of your MCU version ? You can see that in Factory Setting.

Does 4x4shop update you abour firmware or MCU ?
 

perdigao

Member
Jun 10, 2006
6
0
I've got the same unit (8.1 px6 ) from 4x4shop for a 2016 BMW X3 and have some things that doesn't work :(
- Microphone does not work with the Carplay dongle (making it almost useless) . I've tried a different dongle and the same problem (but a little better because I don't have the Authorize the USB every time I turn on the car).
- Sound through Android Auto is horrible. The sound through the car Bluetooth is still great, but movies and music played through Android sounds really bad.
 

cennaciri

Member
Dec 31, 2018
10
0
The Hague
screensaver analog clock??

Hi guys,

I have installed the new android px6 unit from 4x4shop. I love it. The only thing that annoys me is a screensaver with an analog clock that keeps randomly showing.
How can I turn this off?

Highly appreciate your help.
 

bradsinram

Senior Member
Oct 25, 2009
630
45
des moines ia
Hi bradsinram,

Could you please give me a screenshot of your MCU version ? You can see that in Factory Setting.

Does 4x4shop update you abour firmware or MCU ?

Image attached below. they havent mentioned anything about updates
 

Attachments

  • 49721903_329834747871200_6757538326179217408_n.jpg
    49721903_329834747871200_6757538326179217408_n.jpg
    69.2 KB · Views: 263
  • Like
Reactions: herobkse
Feb 7, 2016
42
2
Does anyone else have their stereo channels reversed on the generic Android unit running 7.1.1? For me this is only true on the Android side of the unit; the BMW side is routed correctly. Presumably an XML fix would sort this? Or perhaps a Tasker / App solution?

---------- Post added at 12:07 PM ---------- Previous post was at 12:04 PM ----------

BTW anyone using a different launcher (i.e. Nova) and suffering from BT Connection issues - I've managed to sort mine via Tasker - happy to help others with my solution (7.1.1 Generic Chinese Android for BMW F25, but presumably similar OS for everyone)
 

kuj0n

Member
Apr 9, 2011
29
4
Here is a new update for 7.1.1 PX3 unit ONLY.
https://drive.google.com/file/d/1ikNylN0YVNpPD0PreR5iA3uIpbf1vrU9/view?usp=sharing

Hva not tested it, please report back.
Update installed. First noticed changes are another icon about BT connected and "learning touch buttons" but i don't know how it's working - i was trying to learn some buttons from steering wheel but nothing changed.
Another question, will we get an update for this unit which contains new ID7 (look attachment)?
 

Attachments

  • IMG_2423.jpg
    IMG_2423.jpg
    124.7 KB · Views: 264
  • HTB1Q6VMasnrK1RkHFrdq6xCoFXay.jpg
    HTB1Q6VMasnrK1RkHFrdq6xCoFXay.jpg
    82.6 KB · Views: 270
Last edited:

kalinkamaen

Senior Member
May 31, 2010
221
34
Update installed. First noticed changes are another icon about BT connected and "learning touch buttons" but i don't know how it's working - i was trying to learn some buttons from steering wheel but nothing changed.
Another question, will we get an update for this unit which contains new ID7 (look attachment)?

Thanks for info. I do not have any information about ID7. I do not have any connections to developer. Sorry.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 7
    Still working on getting a fully operational open source bootloader going for these devices, and consequently a bootable TWRP SD image. I haven't given up or lost interest, but it's been a pretty deep rabbit hole. I have u-boot working properly now and able to access I2C properly. I've also sniffed the I2C sequence that initializes video timings for the RK616. I've located the LVDS pins on the SoM board and on visual inspection they definitely look to be connected to the RK616.

    Now the problem is that the RK616 is not responding to I2C after boot. I also tried I2C reads against the touchscreen controller from u-boot and got no response. In my last update I mentioned that if I allow Android to boot, then insert my SD and do a soft reboot without powering off the device, the video mode is still configured correctly. Same deal here, after a warm boot the RK616 and other chips are responsive to I2C.

    So the next target is understanding the RK818 chip which manages power buses. This chip does respond to I2C after a cold boot, and presumably I need to tell it to power on the other chips. I was able to sniff its I2C traffic on boot with the stock bootloader - it was not easy to get a probe on that tiny QFN68 package! This was late at night last night so I haven't had a chance to experiment much with that data. The problem is that the RK818 has a one-time-programmable customization option so if that was used by the manufacturer, the datasheet isn't going to be much help.

    Hopefully I can decipher that traffic and work out the magic incantations to power on the rest of the device. The writes I sniffed to the RK616 look more straightforward and do correspond to the timing registers on the datasheet, so hopefully this will be the last step to TWRP.

    For those interested, I've started mapping out the pins on the PX3 SoM board here: https://docs.google.com/spreadsheets/d/e/2PACX-1vRmkNgAVJQsTJcCdzZgNy6zyS1zpTDN5WK7Ln1hurWXpOk4R6pvYNH063jFywYzYdQY14xv6hOKiBmH/pubhtml?gid=0&single=true - the green boxes are confirmed pinouts.
    4
    Howdy,

    We are migrating over from BimmerPost over to XDA because the Original Thread has evolved from just the DIY install into more of a modification of the Unit itself. The unit we are talking about is This One In Particular, however it has similarities of other units that are in the F Series BMWs (jmoney99 on BimmerPost has one in the X3).

    I hope that we can engage the whole Android Community better here on XDA while talking with other folks who have this unit on BimmerPost.

    Avin has released a GEN2 unit with a different hardware format in connectors, but the specifications seem to be the same. The software ROMs and MCU also seem to work without issues on the GEN2. Until stated otherwise, you can assume software is identical.

    Specifications:
    • AVIN Model: BMWF30A-1025
    • Device: rkpx3
    • Device Model: rkpx3
    • Manufacturer: rockchip
    • Brand: rockchip
    • Hardware: rk30board
    • ID: KTU84Q

    The unit runs Android 4.4.4, 1GB Ram, 1.6 Ghz Quad Core CPU. So far, this is what we know is possible with it:
    • Rootable through KingRoot
    • KingRoot can be removed by SuperSume
    • SuperSu works fine
    • Rootable Applications are able to be installed and work properly

    These are the following versions that are currently on record being released from AVIN (Updating breaks Root):
    • 20170711-Ver1.0.0.0001_foreign_a (Rootable) - MD5 (update.img) = 66a55552d6746e62b08783af7253af94
    • 20170823-Ver1.0.0.0001_foreign_A (Rootable) - MD5 (update.img) = 1d7eff1957827f68a025b5a4928f7295
    • 20170913-Ver1.0.0.0001_foreign_A (Rootable) - MD5 (update.img) = d27bef19b6e361350b5b9217cba6d41b
    • 201710XX-Ver1.0.0.0001_foreign_A (Rootable) - MD5 (update.img) = 7c5d98e63c7511ed8acbace071ca2b46
    • 201711XX-Ver1.0.0.0001_foreign_A (Rootable) - MD5 (update.img) = fe9ae7a54ae7ae4cb2b90224f79ffcf0

    Firmware that eliminates error "no Signal" dated 4/10/2018 (Link controlled by AVIN) (Rootable)
    https://drive.google.com/file/d/1p1A...-1xw3K9xh/view

    Latest MCU Update:
    MD5 (update.nbd) = 988aa693c8e3922a5b250fc9b1693c4e

    ROMs/.img's are able to be unpacked by proprietary RockChip Factory Tool v.5

    Additional Firmware Decrypter tool (thanks @aclearersky)
    https://drive.google.com/open?id=11f...OqmJ1ifV8VYO1s

    This is what @aclearersky used to decrypt the apk files
    https://xdaforums.com/and...s-gui-t3333960

    Overriding system 24 hour clock to force 12 hour format is possible, but requires shell scripting and either modification of system startup files or third party program. See post HERE

    _____________________________________________________________________________
    DO NOT SWITCH TO ART IN DEV SETTINGS AS IT CAN CAUSE A BOOTLOOP
    _____________________________________________________________________________

    build.prop dump (from August ROM):
    Code:
    # begin build properties
    # autogenerated by buildinfo.sh
    ro.build.id=KTU84Q
    ro.build.display.id=rkpx3-eng 4.4.4 KTU84Q eng.zxw.20161219.165857 test-keys
    ro.build.version.incremental=eng.zxw.20161219.165857
    ro.build.version.sdk=19
    ro.build.version.codename=REL
    ro.build.version.release=4.4.4
    ro.build.date=2016年 12月 19日 星期一 16:59:21 CST
    ro.build.date.utc=1482137961
    ro.build.type=eng
    ro.build.user=zxw
    ro.build.host=zxw-ubuntu
    ro.build.tags=test-keys
    ro.product.model=rkpx3
    ro.product.brand=rockchip
    ro.product.name=rkpx3
    ro.product.device=rkpx3
    ro.product.board=rk30sdk
    ro.product.cpu.abi=armeabi-v7a
    ro.product.cpu.abi2=armeabi
    ro.product.manufacturer=rockchip
    ro.product.locale.language=zh
    ro.product.locale.region=CN
    ro.wifi.channels=
    ro.board.platform=rkpx3
    # ro.build.product is obsolete; use ro.product.device
    ro.build.product=rkpx3
    # Do not try to parse ro.build.description or .fingerprint
    ro.build.description=rkpx3-eng 4.4.4 KTU84Q eng.zxw.20161219.165857 test-keys
    ro.build.fingerprint=rockchip/rkpx3/rkpx3:4.4.4/KTU84Q/eng.zxw.20161219.165857:eng/test-keys
    ro.build.characteristics=tablet
    # end build properties
    #
    # from device/rockchip/rkpx3/system.prop
    #
    #
    # system.prop
    #
    
    #rild.libpath=/system/lib/libreference-ril.so
    #rild.libargs=-d /dev/ttyUSB2
    # Default ecclist
    ro.ril.ecclist=112,911
    ro.opengles.version = 131072
    wifi.interface=wlan0
    rild.libpath=/system/lib/libril-rk29-dataonly.so
    rild.libargs=-d /dev/ttyACM0
    persist.tegra.nvmmlite = 1
    ro.audio.monitorOrientation=true
    
    #NFC
    debug.nfc.fw_download=false
    debug.nfc.se=false
    
    #add Rockchip properties here
    ro.rksdk.version=RK30_ANDROID$(PLATFORM_VERSION)-SDK-v1.00.00 \
    ro.rk.screenoff_time=-1
    ro.rk.screenshot_enable=true
    ro.rk.def_brightness=200
    ro.rk.homepage_base=http://www.google.com
    ro.rk.install_non_market_apps=true
    sys.hwc.compose_policy=6
    sys.wallpaper.rgb565=0
    sf.power.control=2073600
    sys.rkadb.root=0
    ro.sf.fakerotation=false
    ro.sf.hwrotation=0
    ro.rk.MassStorage=false
    ro.rk.systembar.voiceicon=false
    ro.rk.systembar.tabletUI=false
    wifi.interface=wlan0
    ro.tether.denied=false
    sys.resolution.changed=false
    ro.default.size=100
    persist.sys.timezone=Asia/Shanghai
    ro.product.usbfactory=rockchip_usb
    wifi.supplicant_scan_interval=15
    ro.factory.tool=0
    ro.kernel.android.checkjni=0
    #set default lcd density to Rockchip tablet
    ro.sf.lcd_density=160
    ro.adb.secure =0
    ro.telephony.default_network=9
    
    #
    # ADDITIONAL_BUILD_PROPERTIES
    #
    ro.com.android.dateformat=MM-dd-yyyy
    ro.config.ringtone=Ring_Synth_04.ogg
    ro.config.notification_sound=pixiedust.ogg
    ro.carrier=unknown
    ro.config.alarm_alert=Alarm_Classic.ogg
    dalvik.vm.heapstartsize=8m
    dalvik.vm.heapgrowthlimit=64m
    dalvik.vm.heapsize=384m
    dalvik.vm.heaptargetutilization=0.75
    dalvik.vm.heapminfree=512k
    dalvik.vm.heapmaxfree=8m
    ro.sf.lcdc_composer=0
    debug.hwui.render_dirty_regions=false
    keyguard.no_require_sim=true
    ro.com.android.dataroaming=true
    ril.function.dataonly=1
    persist.sys.strictmode.visual=false
    dalvik.vm.jniopts=warnonly
    ro.rk.bt_enable=true
    ro.factory.hasUMS=false
    persist.sys.usb.config=mtp,adb
    ro.factory.hasGPS=false
    ro.kernel.android.gps=ttyS0
    ro.factory.storage_suppntfs=true
    ro.factory.without_battery=true
    ro.product.version=1.0.0
    ro.product.ota.host=www.rockchip.com:2300
    persist.sys.dalvik.vm.lib=libdvm.so
    ro.kernel.android.checkjni=1
    dalvik.vm.dexopt-flags=m=y
    net.bt.name=Android
    dalvik.vm.stack-trace-file=/data/anr/traces.txt


    UPDATED: CarType.xml from October Update Package:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <cartype>
       <model>
             <id>1</id>
             <name>1.F1X F2X F3X F4X(2013-2017)6.5inch</name>
       </model>
       <model>
             <id>2</id>
             <name>2.E60(2005-2010)6.5inch</name>
       </model>
       <model>
             <id>3</id>
             <name>3.E60(2005-2010)8.8inch</name>
       </model>
       <model>
             <id>4</id>
             <name>4.F1X(2011-2012)6.5inch</name>
       </model>
       <model>
             <id>5</id>
             <name>5.F1X F2X F3X F4X(2011-2012)6.5inch-full</name>
       </model>
       <model>
             <id>6</id>
             <name>6.F1X(2011-2012)10.25inch</name>
       </model>
       <model>
             <id>7</id>
             <name>7.F1X F2X F3X F4X(2013-2017)6.5inch-full</name>
       </model>
       <model>
             <id>8</id>
             <name>8.F02(2009-2015)10.25inch</name>
       </model>
       <model>
             <id>9</id>
             <name>9.F1X F2X F3X F4X(2013-2017)8.8/10.25inch</name>
       </model>
       <model>
             <id>10</id>
             <name>10.F1X(2011-2012)6.5inch-ADJ</name>
       </model>
       <model>
             <id>11</id>
             <name>11.F1X(2011-2012CIC)6.5inch</name>
       </model>
       <model>
             <id>12</id>
             <name>12.F1X(2011-2012CIC)6.5inch-full</name>
       </model>
       <model>
             <id>13</id>
             <name>13.G30(2018)8.8/10.25inch</name>
       </model>
       <model>
             <id>14</id>
             <name>14.E60(2004-2010)8.8inch</name>
       </model>
       <model>
             <id>15</id>
             <name>15.E65(2005)8.8inch</name>
       </model>
    </cartype>

    UPDATE: factory.xml from October Update Package:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <factorys>
    
            <factory>
              <!-- all:common:普通客户;high-grade:优质客户; -->
              <client>ALS</client>
    
              <!-- BMW_NBT:宝马NBT;  AUDI_A4L:奥迪A4L;  BWM_EVO:宝马EVO; AUDI_Q5_1024x600:奥迪Q5_1024x600分辨率; BWM_EVO_UI2:宝马EVO新款 -->
              <UI>BWM_EVO_UI2</UI>
    
            <!-- DVD模块类型: 0:关闭  1: DVD软件1 2:DVD软件2(HLA)  -->
              <DVD_type>0</DVD_type>
    
              <!-- A4L主页左边Logo: 0:不显示 1:A4L1(默认) 2:A4L2 3:A4L3 4:Q5 5:客户专用 -->
              <A4L_Logo_Left>1</A4L_Logo_Left>
              
              <!-- A4L主页右边Logo: 0:不显示 1:显示AUDI LOGO 和 高德导航信息 2:仅显示 AUDI LOGO  -->
              <A4L_Logo_Right>1</A4L_Logo_Right>
              
              <!-- 奥迪主界面是否要滚动特效:0:否  1:是  -->
              <Audio_Main_Scroll>1</Audio_Main_Scroll>
              
              <!-- EVO主界面选择 0:公版  1:主界面第一页和第二页交换  -->
              <EVO_Main_Interface_Select>0</EVO_Main_Interface_Select>
    
    
    
    
    
              <!-- 工厂设置密码(4位数) -->
              <password>1314</password>
             
              <!-- AUX功能开关 (0关闭, 1打开)-->
              <AUX_enable>0</AUX_enable>
             
              <!-- DTV功能开关 (0关闭, 1打开)-->
              <DTV_enable>0</DTV_enable>   
                        
              
              <!-- DVR模块类型: 0:关闭  1: CVBS DVR  2:USB DVR(使用USB才可以设置下面的DVRApk_packageName,否则无法自定义) -->
              <DVR_type>0</DVR_type>
              
              <!-- USB DVR APK包名: 默认:凯富隆  (DVR模块类型为USB DVR时有效)-->
              <DVRApk_packageName>com.anwensoft.cardvr</DVRApk_packageName>
              
              <!-- GooglePlay: 0:关闭  1:打开   -->
              <GooglePlay>0</GooglePlay>
    
              <!-- 蓝牙开关: 0: 后装蓝牙 1: 前装蓝牙 注:协议这样 -->
              <BT_type>0</BT_type>
    
              <!-- 蓝牙模块: 0:文强BC5  1:文强BC6  -->
              <BT_module>1</BT_module>
    
              <!-- 第三方APK软件安装: 0:允许  1:禁止  注:协议如此 -->
              <APK_install>0</APK_install>
    
              <!-- 宝马原车CD主机设置: 1:阿尔派  2:哈曼  注:协议使用的是1,2 -->
              <BMW_CD>1</BMW_CD>
              
              <!-- AUX切换方式: 0:自动  1:手动   -->
              <CarAux_operate>0</CarAux_operate>
              
              <!-- 功放选择: 0:原车功放  1:外置功放盒   -->
              <AMP_type>0</AMP_type>
              
              <!-- 原车显示: 0:关(老款宝马X1)  1:开   -->
              <CarDisplay>1</CarDisplay>
             
              <!-- 同行者语音唤醒词: -->
              <TXZ_wakeup>你好小微</TXZ_wakeup>
    
    	  <!-- CCC_IDrive类型选择 0:IDrive_A  1:IDrive_B   -->
              <CCC_IDrive>0</CCC_IDrive>
       
              <!-- EVO主界面选中图标是否放大 0:不放大  1:放大   -->
              <EVO_main_interface_select_zoom>0</EVO_main_interface_select_zoom>
              
            </factory>
    </factorys>

    Update: mapApkLst.txt from October update:
    Code:
    com.baidu.baidumaps
    com.baidu.BaiduMap
    com.baidu.navi.hd
    com.mxnavi
    com.mxnavi.naviapp
    com.autonavi
    com.cld
    cld.navi.mainframe
    cld.navi.c3588.mainframe
    cld.navi.c2739.mainframe
    cld.navi.c3551.mainframe
    cld.navi.k3618.mainframe
    cld.navi
    com.kingwaytek
    com.papago.M11General
    com.papago.s1OBU
    com.papago
    com.loco
    com.sygic.aura
    com.txznet.txz
    com.google.android.apps.maps
    com.mireo.magnav
    com.mireo.dontpanic.android.incyclone
    com.waze
    com.sogou.map.android.maps
    com.tencent.map
    com.mapbar.android.mapbarmap
    com.mapbar.android.carnavi
    com.nng.igoprimo.javaclient
    com.nng.igo.primong.hun10th
    com.navngo.igo.javaclient
    com.basarsoft.igo.javaclient
    com.basarsoft.igonextgen.javaclient
    com.mapswithme.maps.pro
    com.here.app.maps
    ru.yandex.yandexnavi
    4
    Hi everyone, I just got the gen2 7.1.1 Avin unit today. I figured I'd get it powered up indoors before installing it in the car. First order of business: root. I didn't see that anyone had done this yet for the gen2 so figured I'd share. Turns out it wasn't very difficult, you can just su from an adb shell. Since we have no USB debugging access, here is the method I used:

    • Connect to wireless network.
    • Open a local (non-root) shell on the device. Any terminal app will do, I used JuiceSSH.
    • Run setprop service.adb.tcp.port 5555 in the local shell to enable ADB over TCP.
    • Run ifconfig wlan0 in the local shell and note the device's IP
    • Enable Developer Options menu, then either enable USB debugging or disable/re-enable it to restart adbd
    • On a PC with adb tools enabled, run adb connect 1.2.3.4:5555, replacing 1.2.3.4 with your device's IP
    • On the PC, run adb shell to get a shell on your Avin device. From there, run su to become root.

    Result:
    Code:
    px3:/ $ su
    px3:/ # id
    uid=0(root) gid=0(root) groups=0(root),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3009(readproc)

    While this will give you root access, I wouldn't call the device "rooted" yet. Next goal is to get SuperSU or hopefully Magisk working. I want to figure out how to recover if I bootloop or soft-brick it before messing around too much more. It does look like the USB is OTG, does anyone know if it's possible to get this into device mode for either Android recovery or Rockchip maskrom mode?
    3
    You guys have been busy. I haven't seen the reboots / slowdowns that you've had, probably because mines the X3 and the back of the screen / part of the top is covered by the dash. Antutu bench shows the CPU is mid-range (total score 19294, CPU @ 9750, ram @ 2601). The CPU score is similar to a Galaxy S4 but the ram is about half the speed. CPU on AVINs site was stated at 1.6Ghz, but CPUz shows it as 1.2 Ghz (Chinese marketing again?). Looks like they put this chip in quite a few headunits (RK3066): https://xdaforums.com/android-auto/android-head-units/rkpx3-identify-unit-options-t3585126

    Think this chip has a problem with the google app (maybe app isn't optimized properly for the hardware). Right now I've forced GPU rendering in Developer options, and using 3C Toolbox to set the following: vm.swappiness =10%, cache size=4096, io scheduler=deadline (system manager), CPU governor =performance (cpu manager). 3C also has a decent task manager / startup manager to minimize apps. Using seeder 2.0 (from XDA) as well @ light setting to optimize entropy. Performance seems to be pretty good at these settings and I don't notice much lag once everything is properly loaded. I did try switching to ART a while ago, but settings didn't stick (probably got lucky since it looks like that could've crashed it).

    I'm using a hack/work around right now for the 24-hour time. There is an app from the playstore called "init.d scripts support" that will allow you to run system scripts at startup. Scripts can be located in any folder (I just put it in a separate folder on the internal SD / data dir. It does require root and you could probably put the script in /etc/init.d and not use the app but I didn't want to mess with the system directory. Set to run scripts at boot / no execution delay. Use notepad++ to create a simple shell script and save it as a Unix script file.

    Script name: set_time_12_hr.sh

    Code:

    Code:
    #!/system/bin/sh
    settings put system time_12_24 12

    Script now executes at startup and sets the time to 12 hour. Might be a slight delay as it changes from 24 hour to 12...but works for now.
    3
    More progress toward TWRP this weekend. While I have a bootable SD card, video mode is still a problem. The video output is actually handled by the RK616 chip, which the CPU needs to configure using I2C. As far as I can tell, this should be done by U-boot, and is on the stock setup. If I boot Android and then insert my SD and reboot without powering off, the video mode is still correct and TWRP boots fine.

    I've tried a few different paths to get it booting correctly without first booting into Android. I tried ripping the stock u-boot.bin and then packing it with a standard stage1 loader. I have not been able to get this to work; it hangs after stage1. I noticed the stock boot sequences uses a miniloader for stage2, which then launches U-boot from the partition starting at 0x2000. I tried using a miniloader binary provided by Rockchip, which I couldn't get to work either. I was able to rip the miniloader image from the stock ROM. This does load from the SD (I confirmed by editing some of the log messages with a hex editor), but then proceeds to load u-boot from MMC rather than the SD card. So this path hasn't yielded success.

    I got closer with building an older version of U-boot from source, from an old Radxa repo with a branch specific to RK3188. I didn't use a miniloader here, just concatenated u-boot with the stage1 loader. This works fine, and successfully boots TWRP from the SD card. This is where I run into the video issue. I added some printfs to debug, and I can see that U-boot does try to write to I2C registers on the RK616. I confirmed on a datasheet that these are clock control registers. The problem is I2C doesn't seem to be working at all. Any I2C reads return 0xff, and presumably writes are also not working.

    So, that's where I'm at. If anyone has any insight on either of those paths, please let me know.