M2X board with 1TB NVME running Android Pie or CoreElec

Hi, I’ve got a 1TB WD Blue SN550 NVME drive inserted in the M2X board, along with the Quectel EM06 4G modem.

I confirmed that I had set the correct portmode in Krescue. I have successfully partitioned and formatted the drive as ext4 in Ubuntu bionic with 4.9 kernel (I understand that the NVME driver may have been disabled in 5.7 due to stability issues). Note that I only observed ~480MB/s read speed, which is a bit disappointing but doesn’t matter for this application.

I want to store videos on the drive and play them using Kodi. I have not succeeded in getting the drive recognised in CoreElec (preferred option out of the two). In Android Pie I can see that the portmode is set to PCIE, but I can’t find any evidence that the system has recognised the drive.

What do I need to do to get this drive working with Kodi?

I also want it to work with OpenWRT, but it seems that’s not possible, maybe because of the 5.7 issue above.

since you are working with a single PCIe lane, your bandwidth gets bottlenecked hence only giving you about 5 Gbits or 480 Mbyte/s max…

Have formatted the drive inside Android ? as I am not sure if your android will detect a drive with ext4 format, maybe see if you can format it to exFat…

As a rule, Android itself offers to format it for the file system it needs when it recognizes the disk

Yes, but I see it only does that if it is in a recognizable format, or it needs to be unformatted in the first place…

you probably want to tell whether the disk is serviceable or not? with correct disk operation, everything should be successful!

Yes, just use Ubuntu on VIM3 (or a PC) to change the format to exFat or some other format or even unformat it (rare case) and it will get recognized…

I had similar problem with USBs and SD cards in Android, and the above trick fixed it…

much depends on the quality and characteristics of the disc itself,as we all know, there are many fakes, even for brands :confused:

WIP!!! we try to make it workable soon! need complete some tests …

OK, to answer comments like:

… and so on

The NVME drive is BRAND NEW and bought from a local seller. Given Australia’s excellent consumer protection, I am completely certain that this seller has supplied the genuine item, so please don’t allow paranoia and bad online experiences to muddy the waters of this issue.

I can say that I’ve tried with an empty disklabel, and also formatted a primary partition as ext4 and/or vfat (with matching filesystem ID in MBR). One utility in Android (DiskInfo) reported that the nvme drive was “INTERNAL” and others declared “BLKEXT”, but under no circumstances does Android itself allow me to setup the drive, as you would normally see when you plug in an external drive. I went as far as comparing the NVME drive to TWO BRAND NEW drives (SATA with USB adapter, and a USB flash drive), but still no dice. I can mount both ext4 and vfat (*snigger … WHY?) filesystems manually, but I’ve not found a way of winning with a modified vendor fstab (system fails to boot) or a script forked late from init.rc (logcat suggests insufficient permissions).

I should also mention that reading from the drive seems fine, but writing corrupts the (1080P) display BADLY, and the ‘q’ key isn’t recognised on a hardware keyboard REAL HANDY OOTB. That’s probably fine for my (current) purpose, in that I’m happy to mount the filesystem as read-only during video playback, but could be a real showstopper if I were to be adding TVHeadend and an old DVB network tuner to the mix. I assume that this is some sort of design fault?

At this point I have to repeat that I’d really prefer to have this working with CoreElec … a REAL Linux by comparison. Checking /proc/config.gz it would seem that NVME block support simply isn’t enabled in 9.2.4.1, even though it seems that the 4.9 kernel used would be suitable for this purpose. This would mean avoiding attempts to circumvent the “security” in Android, and having to deal with a far-from-optimal image.

If the Khadas team is unable or unwilling to enable this kernel module support in CoreElec QUICKLY (given that this is another in a list of capabilities advertised prior to sale, but not realised), then perhaps one of the team members could link the kernel source and CURRENT default.config for CoreElec 9.2.4.1 in this thread? I’m fast running out of time and patience for this particular project to be completed, and I’m more than happy to compile a kernel, if that’s the only problem preventing me from moving on to other issues.

The same request applies to a properly working OpenWRT image, assuming it’s possible to “simply” revert to kernel 4.9 in order to produce a working image, rather than spend months(?) waiting for hyphop to find time to debug the NVME issues with 5.7, and maybe even get around to fixing RSDB WiFi support (also advertised prior to sale, but not yet working).

1 Like

And all this is now pointless, even though I was about to try a freshly compiled CoreELEC with NVME support, as the board now fails to power on … no lights, nothing.
Yes, I’ve tried different cables and power supplies.
Note that the board has been enclosed and “working” for weeks … just not working well OR consistently, as you’ll have noticed from my other posts/threads.
Are @kenny and @katherine the people to contact about RMA?