Like thinker, I can confirm that USB OTG is available on Samsung Galaxy A3 (2015), at least if you have the version SM-A300FU, but I'm pretty sure that all versions can support it. However to get it working you need to get the custom ROM Lineage OS (quite stable on my device), and the installation it pretty hard (not just an apk to install...) and can be dangerous. Here are the instructions to install it.
YOU NEED TO KNOW THAT INSTALLING A CUSTOM ROM CAN BE VERY DANGEROUS FOR YOUR DEVICE, BRICK IT, AND MAKE IT GOOD TO PUT IN THE BIN IF SOMETHING GOES WRONG DURING THE FLASH. SO ALWAYS FOLLOW ALL THE INSTRUCTIONS VERY CAREFULLY, I CAN'T BE RESPONSIBLE IF YOU BREF YOUR DEVICE, AND DON'T FORGET TO USER YOUR BRAIN.
ALSO MAKE SURE TO HAVE BACKUPS (DATA, OF EVERYTHING ON YOUR COMPUTER!!!
Step 1: Install Odin on your computer
First download ODIN from this source if you are on Windows, and compile heimdall if you are on Linux (the available version in the debian unstable repo is not up to date, so you need to compile it by yourself, but don't worry it's pretty simple and described in the Appendix B of the Readme file). If something goes wrong, make sure that your phone drivers are installed.
Step 2: install latest TWRP custom recovery mode on your device to backup your current ROM
NOTE: If your device is already rooted (link to root it if you are on Lollipop Android 5.x), you should be able to first backup the RECOVERY using this thread. I didn't try, but it may be a good idea...
It is always a good idea to backup your current ROM to avoid problems latter. To do so, you need to flash a custom recovery (TWRP) on your device. I tried the image on this website, but no idea why I wasn't successful (basically it shut down after showing me the first TWRP boot screen). Instead, I followed the instructions here, and I downloaded the file "twrp_3.0.2-1_sm-a300_otg_fix2.tar" that works great (actually, you can even test USB-OTG here if you change the "storage" during backup !). If you are on Windows, use Odin like in the tuto, on linux use a command like
sudo /path/to/my/compiled/bin/heimdall flash --RECOVERY ~/download/twrp_3.0.2-1_sm-a300_otg_fix2/recovery.img
Then, once TWRP is installed, reboot on it (power + Home + Volume up), go to backup, select the storage you want, and I recommand you to backup all the partitions. It's always better to have more than less...
Step 3: get the latest stock (Samsung) android ROM for your device & operator
This step is really needed if you want to avoid connectivity issues, like non working Wifi... I tried to install Lineage OS on my old 5.x android, and wifi was not working. But then I installed the lastest 6.x android version (that uploads the good baseband...), and now everything works great!
To do so:
- first check what is your device version in the "Parameters > About phone > Model". Mine is SM-A300FU, and it should work on all SM-A300F, SM-A300FU, SM-A300M, SM-A300H.
- Go on the website http://updato.com/, and type your "SM-A300*" model (you can also go to sammobile, but it was too slow for me to download the image). Then, filter by region to match your country and your mobile operator, and also filter by version (Marshmallow). Then click on "update results". You should get several items. Try to pick one whose PDA field ends with "CPH3", I saw some comments that said that this one is the best one to solve connectivity issues (not sure it others would work). For example, if you are in France, with Bouygues, you should use this version.
- Then wait the end of the downloading, and drink 20 coffees (can be pretty long).
Then flash the rom using this tutorial if you are on Windows (I never really used Odin, but I guess you can do it). If you are on linux, you first need to extract the
.zip, rename the
.tar, extract the
.tar, and then run something like
sudo /path/to/my/compiled/bin/heimdall flash --APNHLOS NON-HLOS.bin --ABOOT aboot.mbn --BOOT boot.img --HIDDEN hidden.img.ext4 --MODEM modem.bin --RPM rpm.mbn --SBL1 sbl1.mbn --SYSTEM system.img.ext4 --QSEE tz.mbn --CACHE cache.img.ext4 --QHEE hyp.mbn
All right, now if everything goes fine, you should reboot into the latest Android version. Wait a few mn that everything gets installed, and then go to the next step!
Step 4: Re-Install TWRP
Because TWRP has been erased (and no, don't try to flash everything except the recovery rom before, because it will bootloop after), you need to re-flash it, like in step 2!
Step 5: Install Lineage OS (yes !!!)
Follow this (xda-trustworthy) tutorial to install Lineage OS. Cross your finger, reboot, and enjoy !
PS: If you want to enable root on the Lineage OS, it's just a case to tick in the developer options!
Question: Can I keep using the official ROM?
I don't know if it's possible to exchange the kernel of Lineage OS with the official ROM, and if it would work... If you feel aventurous, you can give it a try, but personally I thing that Lineage OS is really nice ^^