So few days back I got used Note 10.1 2014 as it was best bang for the buck. Unfortunately, it runs old Android 5.1 which is latest official release to day (and ever). As I for both usage and security reasons I decided to update to latest Lineage OS 14.1 (formerly Cyanogenmod).
One of the drawbacks of Lineage is not complete support for Spen. Don’t get me wrong, spen works fine to draw in some apps, but does not show hover cursor, button doesn’t work, etc… I wanted full functionality and found out, that best app to do so is SpenCommand.
For SpenCommand you need to have rooted device – I won’t get into specifics how to root, there is plenty of articles about that. I went with SuperSU variant.
Unfortunately after rooting and running SpenCommand, it did not work. The error given, after few minutes of „searching“ wait sign, was „unable to find initial hardware information“. In beta version, similar information was shown directly in app after about 30s.
I got in touch with developer via facebook (whow, how fast this guy replies to requests 🙂 and found out, that issue might be with Wifi, as it’s used to detect the device.
At this time, I found out, that my wifi has been assigned MAC address 00:90:4c:c5:12:38, which is not original MAC of my device, but rather some default/generic one (you can google for it and see many people have issue with that).
And now the important part. HOW TO FIX THIS? 🙂
- rooted device (you should already have that)
- busybox installed
- Total Commander (or other app that can explore root files)
- possibly some terminal app – like Material Terminal
1. Backup /efs folder
If you haven’t done so already, this is always recommended, as damaging anything in this folder can lead to tons of problems. Hopefully it’s not damaged already :))
2. Get your original WiFi MAC address
Either from the box or it should be located in /efc/wifi/.mac.cob or .mac.info. It should be something like this: 4C:A5:6D:19:6A:51
3a. Change your device MAC Address – simple solution
There is simple solution, like using some Mac Changer app. Using HARD CHANGE worked for me, but it did have to be done after each restart.
After doing so, you can run SpenCommand and it should work just fine.
3b. Change your device MAC Address – little bit more complicated solution
MAC address is stored in a file, in my case it’s in Two:
So with each of these file, do the following – open the in some ROOT explorer app (total commander mentioned earlier) and locate this line:
and change it to the MAC address you located earlier. In my case:
Tip: you can just duplicate line and comment the original one using #
Save file and done 🙂
There is a possibility (I had this issue), that you will not be able to write (save) file directly to /system/etc/wifi as even with root the Total Commander wont be allowed. I’m not sure why, but guess it’s some kind of not using busybox and SELinux issue. In this case, proceed as follow:
- copy the two files to /sdcard (or any other location, just remember it)
- make the changes in copied files
- open up Terminal application (mentioned earlier)
- type in
suto get ROOT permissions
- type in
busybox mount -o rw,remount systemto mount system for writing
- copy the files to proper location using
cp /sdcard/nvram_mfg.txt /system/etc/wifi/and
cp /sdcard/nvram_net.txt /system/etc/wifi/
The original files should be now replaced. Restart the device and you should be good to go.
You’ll probably need to do this each time you flash a new ROM till it’s fixed. (I’ll file this as a bug to Lineage team, so hopefuly it’s fixed soon).