OpenIPC / device-mjsxj03hl

OpenIPC for Xiaomi MJSXJ03HL
https://openipc.org
MIT License
57 stars 15 forks source link

no sd card after install #15

Open darkfuncat opened 1 year ago

darkfuncat commented 1 year ago

Hello all, First of all thanks for your great stuff. I followed the tutorial with a new mjsxj03hl and UART install and it worked. Some details in the tutorial is nto up to date but minor things (names of files from archive for example is wrong) Anyway all is working except that I cannot see anymore the sdcard after boot. (the same that I used for flash during install). I tried fat32, exfat... nothing. I see in the main page the disclaimer : "2023.08.16 Attention, in some 03HL revisions there is a problem with SD card access in the bootloader - no power supply. Try to execute the commands described below and perform scheduled actions on SD card." I suppose this is close to my case, but playing with gpio 54 does nothing and the command "mmcinfo" seems not installed. Anyone for a tip please ? Thanks

themactep commented 1 year ago

I made an alternative version of the installation routine. You might want to check it. https://github.com/themactep/device-mjsxj03hl/blob/master/installation.md

There is a weird mmc lock when it cannot recognize a thing. Cold reboot helps with it. See Troubleshooting at the bottom of the page.

darkfuncat commented 1 year ago

Hi @themactep The cold reboot did nothing today. Is it possible to reinstall without re-disassemble the entire camera ? (it is almost hard to disassemble to connect UART...) I have full access to ssh and web interface (but no sdcard...) What does the GPIO 54 do exactly ? Thanks

themactep commented 1 year ago

If you have access to ssh then you can update system with sysupgrade either from github or from local files uploaded to /tmp.

GPIO 54 supposedly enables MMC where card reader resides.

I soldered an external connector for UART to keep the camera assembled but still hackable.

IMG_20230817_182411

darkfuncat commented 1 year ago

I did all the updates to today, and nothing help for sdcard. I dont know what to do next. Also I realize that there is no MQTT client with this procedure ? I dont know yet why because I have already installed OpenIPC lite on other cam with MQTT client inside. Mesage :

MQTT client is not a part of your firmware. Firmware

Version 2.3.08.26-lite Build master+cd92d00, 2023-08-26 Majestic master+c79acf8, 2023-08-23 Web UI dev+788bf0b, 2023-08-19 U-Boot U-Boot 2013.07-g2762b69-dirty (Apr 19 2023 - 22:04:12)

Any suggestion ? Thanks

themactep commented 1 year ago

you can check t31_lite_defconfig to see if mqtt is included in the lite build. ultimate does have mqtt. if you connect uart you can install ultimate. just don't forget to run setnor16m afterwards.

darkfuncat commented 1 year ago

Hi @themactep I have done some tests today. I completly reinstalled all the stuff according to your doc and scripts. Some remarks :

But after all, same situation as before :

When you say "check t31_lite_defconfig" what do you mean please ? Last, i cannot select "ultimate" in the tool https://openipc.org/cameras/vendors/ingenic/socs/t31n it is greyed/unselectable (I hesitate to change the NOR xM option as I dont know at all what it means).

If you have another tips I can help =) Thanks

themactep commented 1 year ago

UART is a cross connection, RX on the board connects to TX on adapter and vice versa. So my picture is correct, the one in the upstream instruction is not.

I don't know what kind of fdisk you use but fdisk from debian sid does have -x.

My script does not use separate kernel nor rootfs. Are you sure you used correct instruction?

You cannot select ultimate version with 8mb because it requires a 16mb flash, but since these cameras come with 16mb flash, you can change size selector to 16mb and select ultimate.

Defconfig file is the configuration of firmware for a particular build. Configurations for Ingenic you can find here https://github.com/OpenIPC/firmware/tree/master/br-ext-chip-ingenic/configs

darkfuncat commented 1 year ago

OK I understand. Some new tests, we progress ... I try ultimate version with 16M NOR and client MQTT is present : this problem fixed. Now remains the initial problem : as soon as I boot with the wifi configuration, the SDCard support disappears. Not before obviously, because when I use your script sdcard2.sh, it actually reads the sdcard to initialize wifi. And after reboot, SDcard unavailable. If I interrupt boot and do the "gpio clear 54", the sdcard comes back, but disappears as soon as I reset to OpenIPC. I understand that the "configuration wifi phase" breaks the sdcard support but I dont know how/why. Is it possible to activate "gpio clear 54" at the boot of OpenIPC to test if it fix the problem ?

darkfuncat commented 1 year ago

update : Today I resintalled a new firmware with same procedure (sdcard2.sh), and now I can see sdcard after reboot... did change nothing else in procedure. Perhaps the firmware has been update meanwhile ? Anyway now SD Card it is working. I have another problem but I will open a new issue for that. Thanks

darkfuncat commented 1 year ago

Hello, back again, Today I updated the firmware, and the sdcard is non-working anymore. Message now changed and is "ERROR: the mmc is Permanent write protection !!!!!!!!!!!!!!" (any sdcard) And I am stuck. When I go to bootloader and set "gpio clear 54" it is working after for next commands, but non working as soon as I reset/reboot. Is it possible to 'load' the command "gpio clear 54" at the boot of camera ? How to do ? I am not a developper and I really dont know how to call that correctly. Thanks

duchengyao commented 1 year ago

Maybe the same issue.

I created SD card using https://github.com/themactep/device-mjsxj03hl/blob/master/sdcards/sdcard2.sh

RUN firstboot ,but nothing in /mnt

[    6.382951] mmc0: error -145 whilst initialising SD card
themactep commented 1 year ago

Remove the card, unplug both power and uart, give the camera to rest for a few minutes, connect power, connect uart, insert the card, check if it is mounted.

jedrus2000 commented 1 year ago

I can confirm @duchengyao issues on one of my Mi 2k camera.

So currently I've two cameras one with SD card issue, second is ok.

This with SD card issue has chipset T31 : 070602608-BRN20

this without

190012603-BRN01

So on this with SD card issue only executing gpio clear 54 ; mmcinfo before kernel installation helps. I noticed that I need to execute it twice. After first, mmcinfo outputs zeros, second run properly initialize SD card.

darkfuncat commented 1 year ago

@jedrus2000 , on your second camera when you restart after "gpio clear 54" you are able to see SDCard in system ? In my case, setting "gpio clear 54" is good for bootloader, but as soon as I reboot/reset/enter the firmware, no sdcard again. That's why I would "set gpio at boot time" to fix this issue, but perhaps it is completly wrong.

darkfuncat commented 1 year ago

Hi @themactep I tried it so many times : "Remove the card, unplug both power and uart, give the camera to rest for a few minutes, connect power, connect uart, insert the card, check if it is mounted." in any order. Now I am not even able to load wifi config after firmware install. Very strange. Is it possible to continue bootload after setting "gpio clear 54" without do a reset ? (which also reset the sdcard ...)

jedrus2000 commented 1 year ago

@jedrus2000 , on your second camera when you restart after "gpio clear 54" you are able to see SDCard in system ? In my case, setting "gpio clear 54" is good for bootloader, but as soon as I reboot/reset/enter the firmware, no sdcard again. That's why I would "set gpio at boot time" to fix this issue, but perhaps it is completly wrong.

Now I am not even able to load wifi config after firmware install. Very strange.

@darkfuncat

Workaround is :

darkfuncat commented 1 year ago

Ho great @jedrus2000 ! I was missing the 'boot' command. Now I can continue my tests. The idea now is to find a way to activate "gpio clear 54" automatically at boot time ... but I dont know how.

Slusko88 commented 1 year ago

I had the same problem but I managed to mount sd card with these commands:

gpio clear 54

echo "INSERT" > /sys/devices/platform/jzmmc_v1.2.0/present

after this the card should be visible under /mnt dir.

artem-pereverzev commented 1 month ago
gpio clear 54

echo "INSERT" > /sys/devices/platform/jzmmc_v1.2.0/present

Added this to /etc/rc.local before exit 1, works well. Thank you for the temporary solution @Slusko88 !