|
|
09-02-2014, 01:58 PM | #1 |
Captain
436
Rep 857
Posts |
DIY: Integrated AndroidPC on your OEM NAV
Hi All!
I have spent COUNTLESS hours working with over 7 different devices trying to come up with the ultimate AndroidPC solution for my e92M with the OEM 8.8" Nav screen. I have finally found what I would consider to be the best match to my end goal. This project may be a bit geeky for some guys so I will try and be as thorough as possible. If you know the Android OS, you already are a step ahead. IF YOU ARE AN APPLE PERSON, HIT THE BACK BUTTON IN YOUR BROWSER NOW.. Your dumb proprietary hardware does not apply. LOL Before we begin, I would like to give credit to whats77inaname. While I had the idea in my mind, he pulled the trigger first and inspired me. He has provided me with some great ideas. So, thank you as I probably would have not executed this!! His original thread found here: http://www.m3post.com/forums/showthread.php?t=806078 DISCLAIMER: I am not responsible for anything you do to your car or yourself in any negative way. I will, however, take responsibility in any good you do. THIS CAN BE A HUGE DISTRACTION WHILE DRIVING. USE IT RESPONSIBLY AND KEEP YOUR EYES ON THE ROAD! HIGHLY Recommended!!: Play/work with the APC (AndroidPC) in your home, on a TV/monitor, with the typical desktop keyboard and mouse.Learn how to navigate through Android and the apps while at home (repeat: at home)! Knowing the system will make it easier as a driver. You should have the APC and Apps setup/configured 99% before even installing in your car (seriously). When working in the car, a battery charger is needed (unless you want to burn gas) to prevent a dead battery. I made the system easily removable for tweeks made in the house. From a "30,000 foot perspective": This system will enable you to have a fully working Android OS, music/movies/entertainment, car diagnostics/logging, Navigation, and more. With the BMW Multimedia Interface (MMI), you will have a (composite) video-input to interface the APC to. The touchpad mouse gives you control and the web camera gives you voice control. The Bluetooth GPS receiver will fill the absence of a built-in receiver but, the external adapter is extremely accurate and quick to lock onto location which is a great advantage. The APC is powered by a 12v to 5v3a transformer. The transformer is powered by a fuse tap. Cellular Hotspot to provide the world wide web. I will get into details on the hardware later. This project is for someone who wants some smarter technology in their car but, doesn't want to go with a Tablet installed in/on their dash. This puts the OEM CCC NAV UI to shame (and probably the CIC too). Its not perfect, but its the bleeding edge of technology so it's expected. This is not idiot proof and has taken me a long time to find the configs that work best for me. There is a ton of info in this thread that I WISH I had a long time ago. The most important part of this for myself was to have an easy to operate (that may be subjective to the user) and an OEM feel & look. The APC composite video connected into the MMI, displaying it onto the 8.8 NAV screen, with clarity that can be seen from a distance, accurate gps location, snappy UI with my favorite Apps, and a seamless integration to the car is my goal. Sorry about the crappy phone pics.. |
09-02-2014, 01:59 PM | #2 |
Captain
436
Rep 857
Posts |
The Hardware I used for my install is as follows:
AndroidPC - http://www.amazon.com/gp/product/B00...?ie=UTF8&psc=1 You can use any android PC you desire! I am using this as a reference since its what I decided on. XGPS150A Universal Bluetooth GPS Receiver - http://www.amazon.com/gp/product/B00...?ie=UTF8&psc=1 Multimedia Interface (MMI)- I purchased a kit from ebay that I DO NOT recommend unless you understand how it works. it also took 1.5 months to get it. A real pain in the ass that is not worth the savings ($). I recommend going to http://www.modmynav.com/package.html and pick it up there. Touchpad or some sort of "human Input Device" - I got this http://www.ergonomictouchpad.com 12V to 5v 3a transformer http://www.amazon.com/KEEDOX%C2%AE-C.../dp/B00A71CMDU OBDII to Bluetooth adapter Fuse tap (probably wire, shrink wrap, and some wire ties will be good). MicroSD Memory Card (optional,up to 64GB) Web Camera (optional) Cellular HotSpot (my-fi or cell phone wifi tethering) Lets start with the hardest part first.. Configuring your APC (in my case the Tronsmart Vega S89-H ANDROID PC with KIT-KAT 4.4 & 2Gh-Quadcore prossessor)! Again, you can use any AndroidPC you please but, I recommend one with an AV out so you do not have to convert HDMI to Composite video with another adapter that also needs power. I also chose this device for how easy it is to load a new ROM. All my instructions are for this unit, but most of it, with exception to the loading ROMs, can be applied to any AndroidPC for any car. --Software-- Root Access: In order to change the screen density (or DPI) the Android OS needs to be "rooted". Having "Root" access means you have full administrative rights to change system config files that you wouldn't normally have access to. In our case, the screen density is a system config that we need to "whip into shape". If you are using the same APC as me, there is a custom ROM made by FINLESS that is already rooted. Load this ROM. Bob is the man. ROM and instructions can be found here: http://www.freaktab.com/showthread.p...inless-1-9-ROM In a nutshell, you will: Place the zip file on an SD card. Power the device up while holding the "recovery button". It will automatically update. The download is a ZIP file.. after you unzip that, that's where the ROM (which is also a ZIP) is so don't confuse that. Confused yet? That's it! You are now PROPERLY rooted with a custom rom. To enable the NAV BAR: In the "app dock" (home screen) you will see two gears representing Vega settings (right) and system settings (left). Go into the Vega settings, press display, and turn off "Hide Status Bar". A few more settings to adjust, then the fun stuff: System settings>About MediaBox (very bottom), press "Build Number" 7 TIMES to unlock the secret "developer options". System settings>Developer Options and apply a check on "USB debugging" and "Allow mock locations". System settings>Sound>Volumes - Always keep all of them at full volume to reduce signal-to-noise ratio (hum). Use the car's volume. Connect up your WIFI System settings>Display - I recommend large or huge font size. Huge may cause overcrowding in some apps but I prefer it. System settings>Location - Turn on (top right) System settings>Language&input>Pointer speed - Adjust it so you like it System settings>Date&Time - Adjust your timezone. Do not disable automatic date & time. The Fun Stuff Log into the Google Play Store and install some apps. I am hoping to pick up some ideas!! I found to be good: SwiftKey Google maps gmail Spotify (premium) Waze BMWHat Torque Pro Torque widgets tasker Bluetooth GPS Provider by MOBIL-J.DE Nova Launcher Would like to try: Daily Roads Voyager iOnRoad Recommended: Go into the Playstore settings and disable Notifications and disable Auto-Update apps. This will stop unnecessary internet/data bandwidth when the device starts up. Here are some Apps I have and their configurations. These are just my settings and you do not need to copy all of them but, use them as a reference and find what makes you happy. Disregard the Xposed App Settings for now. Nova Launcher - In App Settings: Desktop/ Desktop Grid: 9x14 *Allow Snapping widgets half way Width&Height Margin: none Allow Resize of widgets Allow Widget overlap & overlap when dropping in place Drawer/ Drawer App Grid: 3x8 Dock/ Enable Dock Dock Pages: 1 (I only needed one) Dock Icons: 6 Width Margin: none Dock Height: Large Xposed App Settings: DPI=340/FS=100 Spotify - Xposed App Settings DPI=320/FS=100/Screen=320x480 Google Maps - Xposed App Settings DPI=300/FS=100 SwiftKey Keyboard - Configure to your own liking Torque Pro - In App Settings: General Preferences/ Uncheck Show Tips Check Hide the Status bar Units/ Depends where you live! OBD2 Adaptor Settings/ Some of these settings will need to wait until the APC is installed in the car and paired with an OBD2 (IE Choose Bluetooth device). Check Auto Bluetooth On/Off Check Only If BT was already off Check Faster communication Check Don't Calculate MPG (who cares anyway) Dash installation settings/ Check Start Torque on reboot Speech Preferences/ Check Enable Speech Check Safety Warnings and all the other great warnings. Check Periodically scan for faults If you are having a CEL from something like removing the kitties, check "automatically clear faults". Spend some time to setup all the gauges for the paramiters you would like to see. This could be great for you track guys who want to have some engine vitals shown on the screen. Xposed App Settings DPI=300/FS=140 Torque widgets - I am almost regretting telling you about this. Themes that are applied in Torque should automatically be applied to the widgets but they are not. This is a bug. I contacted to the author but have not gotten a responce. No updates since last year... not looking good . I am using it but really wish I could get it looking better. Maybe someday I'll try and repackage the .APK with the theme I want. Waze - Xposed App Settings DPI=420/FS=100 BlueTooth GPS - You need to configure somethings in Android First: Pair the Bluetooth GPS receiver in the Bluetooth settings. The "Allow Mock Location" in the developer options is so this app works. In App Settings: Choose GPS receiver = your BT GPS (duh). Check Start On Boot. Setup any warning sounds you want. All else stays default. Tasker - This is where I would like to see some creative ideas. I have a few things like saying hello, automatically enabling WAZE when it has wifi (internet) & Location, and closing Spotify when it loses BT connection to the OBD adapter (car if off). I'm also using it on my phone to enable the Hotspot when it connects to the car's Bluetooth. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --Changing screen density-- Otherwise known as screen DPI (Dots Per square Inch). This is where the magic happens for the User Interface on your OEM Nav screen. In other words, makes it easily visible from a distance. Please do not skip anything here. If you chose the same AndroidPC as me (you might do something like this with other devices) , as a prerequisite, we need to remove some objects from the NAV bar at the bottom. All the objects will not fit when the DPI is raised. In the Play Store download "Build Prop Editor" by JRUMMY. Open it (GRANT it root access) and change the default values for the following: ro.statusbar.screenshot = false (do not reboot yet) ro.statusbar.volume = false (ok, Reboot) DO NOT TOUCH WHAT YOU DO NOT KNOW. You could put yourself in a boot-loop and possibly brick it. The easiest way to change the DPI is with an app called "Xposed". Install it following the instructions found on the original thread: http://forum.xda-developers.com/xpos...gelog-t2714053 The "Xposed Framework" will not give you the ability to change system config files by it's self. You must install "Modules". Different modules are created by users to do certain tasks or changes. In our case, we want to modify the screen density for the Android OS and each app you intall. The module needed is called "APP SETTINGs". Open Xposed and click Download section. In there, search and install "App Settings". After it is installed, go into Modules and check the box in App Settings to enable it. Reboot. In Xposed, go into Modules and open App Settings. Find "System UI" and change "DPI" to 428 / Font Scale to 100. Save. Reboot.(You'll see larger Nav Bar) Find "Android System" change DPI 480 / FS 100. Save. Reboot. (You'll see a larger Mouse cursor). You now have the UI looking real big! There are caveats to changing the DPI like things no longer fitting in the space it was designed for. For example, after you make changes to "System UI", the volume buttons no longer can be seen in the navigation bar at the bottom (why we just remove them anyway). This is a sacrifice that had to be made to make the Nav bar BIG (More later but, always leave volume at MAX). You can play with the DPI values a little to find your liking. Its all up to you!! I have a 2008 e92 that has a lower resolution (CCC) than the newer Nav screens (CIC) so your settings might be different. I recommend starting with the DPI settings I went with, then slightly change it. See above Apps for the settings I used in Xposed. Note: Not modifying the DPI in your apps will use the same DPI value as "System UI". --Hardware-- You must make a little modification to the circuit board. This device is designed to sit on top a TV and has a power button that needs to be pushed to turn it on so, we need to change it. We are going to bypass the power button so we do not have to push it every time we start the car. After you do this, your warranty will probably be voided. Make sure it operates before you crack it open! On the bottom of the S89-H there are three rubber feet. Remove them to expose the screws and try and keep them clean so they will stick back on. Remove the Screws and open the enclosure. It is very tricky but remove the circuit board from the base.FYI- there are NO screws. It is tightly fitted around the input/outputs. Flex the base a little if you need to. Using a soldering iron, create a solder bridge (a short) across the two pins shown. Put the circuit board back in the base and GOOD LUCK with that. I found that putting the side with the USB connectors in first was a little easier. Reassemble the device. Now it will always be on as long as there is power going into it. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --Install-- I am not going to get into installing the BMW Multimedia Interface (MMI).Just keep in mind that you will need to connect the AV cable (supplied with the APC) to the MMI. Be sure to route it away from power wires or anything that could introduce noise, to the audio/video signals. To get power to the android PC we will simply tap the fuse panel in the glove compartment. Please do not ridicule me for not using a relay to switch the power. This is a low current-drawing device and I do not think it will harm anything. The great thing about our BMWs is the Terminal 30g relay. This relay becomes active when the user unlocks or opens the car doors (anything involving the Car Access System (CAS)) which gives the AndroidPC time to boot. This circuit stays powered for a delayed period of time after you switch off the ignition so the APC will keep running for stops in the store and quick visits. The 30g relay is also behind the safety circuit incase you get a low battery. Just search "Terminal 30g relay" for more info. See my picture for the Fuse tap location. Ignore the smaller (red) fuse tap.. that's my radar detector on the ignition switch. You'll need a 12v to 5v 3a (3000mA) transformer. I am sorry but I do not have the link or name of what I am using exactly.. I have been using it for over a year now. I believe I found a "add-a-USB-charger-on-your-dash" kit from wallyworld or someplace like that and used the guts out if it. There's plenty of transformers on the web but, I wanted it now. You'll have to cut the wire to the AC power adapter that came with the APC. I actually had another adapter I stole it from so I could still use the AC adapter in the house. It uses a very common barrel-type connector. Cut it so you will have some slack to pull the APC out into the front of the glove compartment for easy removal, then, solder it to your transformer. Connect your transformer to the wire tap, add a (low amp) fuse to the tap for the new circuit, add the fuse from where the tap will be installed, and install the tap. Next you'll want to run your touchpad (or input device) wire. I simply ran it under the center console and came up in the back corner. I ran this while I was installing the audio cable from the MMI to the car's AUX jack under the armrest. Here is what I made with a touchpad but, you can do anything you please. If you look at What77inaname's thread, you'll see what he did with installing a web cam if you want to take that option. At the time, I only wanted the webcam for the built in microphone. I installed it in the map light panel, though the little vents opposite from the OEM microphone. I think I am going to try a new camera and intall it so the camera can capture the road but, be inconspicuous. Once you have all your wires installed in the car, ziptie them together to keep it clean. Plug all your connections into the APC and put it in it's home. You now have the coolest system around! I hope I get some people to follow as I am running out of ideas.. Some notes: When you make changes like changing the homescreen background, you will need to shut it down by the power icon in the NAV bar at the bottom. Pulling the power without a soft shutdown may not save changes. I typically give it a soft shutdown whenever I make any changes. Sign into WAZE before modding the DPI. The screen shrinks for some dumb reason causing all the text to over crowd the area making it very difficult. It is still possible though if you can figure it out. With a lot of the APC's I've tried, I find the wifi is impacted by its Bluetooth. They are both 2.4ghz signals and they interfere with each other! Its so STUPID! If you have a hotspot that has a 5Ghz option, use that since it works perfectly. I'm hoping for a fix for my device but I wont hold my breath. I am getting a Google Play Services error at boot up (sometimes) but, it does not seem to impact anything. I will try reinstalling it from the Play store.
__________________
-- 08 JB e92 6MT ///M3 ESS VT2-625 --
Last edited by jdamore; 02-04-2015 at 03:53 PM.. |
Appreciate
0
|
09-03-2014, 06:10 AM | #4 |
Captain
436
Rep 857
Posts |
Thanks preppy! I know, this is really freaking long lol. I was writing trying to get as much info in as possible and I feel like there's more I could have written.
I am trying to figure a way to create a custom Rom (paid apps removed of course) so people with the same device as me can just load it and not have to deal with most of my DIY. Basically, load the Rom and install it in the car. I will update soon on that.
__________________
-- 08 JB e92 6MT ///M3 ESS VT2-625 --
|
Appreciate
0
|
09-03-2014, 06:38 PM | #6 |
Currently Driving
271
Rep 1,423
Posts
Drives: BPM tuned '13 AW ZCP E92 M3
Join Date: Sep 2012
Location: Rochester, NY
|
I feel like I'm in android heaven! Lol. I remember when whats77inaname was doing this a while ago and I was very intrigued. I just don't have the knowledge to ever do anything like this. I wish I could just plug in my nexus 7 and mirror it to the nav screen and somehow control it through the cic knob.
|
Appreciate
0
|
09-18-2014, 01:51 PM | #7 |
Lieutenant
56
Rep 424
Posts |
Just curious, Im assuming you lose all the functionality in the steering wheel and head unit? So that everything has to be done thru the touchpad or voice?
|
Appreciate
0
|
09-18-2014, 02:10 PM | #8 |
Mr. Nice Says Hello
646
Rep 16,662
Posts
Drives: BMW M3 | X5 xdrive 35i MSport
Join Date: Dec 2008
Location: USA
|
very cool, wanted to do this before I decided to upgrade my navi unit! Great work
|
Appreciate
0
|
09-18-2014, 02:12 PM | #9 |
Colonel
724
Rep 2,759
Posts
Drives: M3
Join Date: Feb 2012
Location: South Florida/ St. Louis
iTrader: (27)
Garage List 2016 BMW X5M [0.00]
08 BMW M3 [0.00] 14 BMW X5 50i - sold [0.00] 09 BMW 335i - Sold [0.00] 09 BMW 328i - Sold [0.00] 07 BMW 328i - Sold [0.00] |
woooow
__________________
Evolve, Eisenmann, Strasse, StopTech, Active Autowerke
|
Appreciate
0
|
09-18-2014, 02:13 PM | #10 | |
Captain
436
Rep 857
Posts |
Quote:
This is more of a "add-on" to the existing system. The MMI is only hi-jacking the video signal (connects between the nav unit and the display panel). You toggle easily from OEM to Android by holding the MENU button on the iDrive knob. The audio (from the AndroidPC) is connected to the AUX in the center console. I'm still using the volume on the wheel. I don't use any other buttons (except the (M) button) but they all work as normal.
__________________
-- 08 JB e92 6MT ///M3 ESS VT2-625 --
|
|
Appreciate
0
|
09-18-2014, 02:16 PM | #11 |
Captain
436
Rep 857
Posts |
I WISH I had the updated unit! The resolution on the CIC units are twice the CCC units.
__________________
-- 08 JB e92 6MT ///M3 ESS VT2-625 --
|
Appreciate
0
|
09-18-2014, 02:43 PM | #12 |
Captain
436
Rep 857
Posts |
After much review of this installed in my car, I have come to the conclusion that the quality of audio coming out of the AV jack is just not there for me. There is a hum and the frequency response (20-20k) is lacking. To elaborate on the frequency response; It is very apparent when it comes to text-to-voice speech like navigation directions. It sounds like someone talking from the other room. It is lacking high-end frequencies (treble). When it comes to music, it sounds like someone is holding the cardboard tubes from toilet paper up to your ears. I might be exaggerating a little lol. I am not an audiophile but I have trained ears and enjoy higher audio from a more technically advanced DAC (Digital Analog Converter).
The HUM has been eating me alive lol. Its like a ground loop issue. Long story stort: I have tried nearly every type of isolated 12v to 5v transformers and made two RF filters and the hum is still there. I am abandoning the audio from the AV jack. I am testing two Solutions: 1.) http://hifimediy.com/index.php?route...product_id=124 This is like a USB audio card. Plugs into the OTG plug on the AndroidPC I have not done much testing with it since I just received it today but, I plugged it into the OTG Plug, plugged the audio out to my (home) stereo, booted it up, and works! Sounds good and no noise. I will update once I do some testing in my car. There is still a chance for a hum since it a physical connection. 2.) I found this and it was so cheap I thought "why the hell not". http://www.amazon.com/gp/product/B00...?ie=UTF8&psc=1 I have tried this in my car and I could probably say this might be what I use. The bluetooth connects automatically so no need to program Tasker. The audio is CLEAN and the frequency response is good but lacking slightly in the lower spectrum. Turning up the bass fixed that. The AUX and USB plug located in the armrest are perfect for an EASY install. To me, the most important is audio quality. I will try them both and report back which is better. UPDATE: I'm using this with the ipod cable. http://www.amazon.com/gp/product/B00...?ie=UTF8&psc=1 It works well! Lacks a little in the bass but not bad.
__________________
-- 08 JB e92 6MT ///M3 ESS VT2-625 --
Last edited by jdamore; 04-27-2015 at 10:51 PM.. |
Appreciate
0
|
11-10-2014, 08:54 AM | #15 | |
Captain
436
Rep 857
Posts |
Quote:
Just to give an update on my audio: I decided to go with the BlueTooth audio receiver. I didn't like the one I posted about a few posts ago because it lacked a lot of low end bass so I went with this one:http://www.amazon.com/gp/product/B00...?ie=UTF8&psc=1 It has a 30 pin header so I use the BMW iPod wire. Instead of using the USB built into the armrest, I use a 12v/usb adaptor in the socket since it is switched by the ignition. I programmed TASKER to pause the music (spotify) when it looses connection to the BT receiver and Play when reconnected. This way, the music will continue where I left off when I turn the car on after short stops.
__________________
-- 08 JB e92 6MT ///M3 ESS VT2-625 --
|
|
Appreciate
0
|
11-11-2014, 01:39 PM | #16 |
General
68556
Rep 26,163
Posts |
WOW !
I think you are a very special person ! If I was you... and with your skillz ( like you said with a Z ) I would start a business ! So congrats man with your amazing skillz knowing this is no BS
__________________
"MAX VERSTAPPEN" IS THE 2021+2022+2023 F1 WORLD CHAMPION - #UnLeashTheLion
BPM DEV-Tune & DCT Software-Tune & Servotronic & coding ///Alpine HID Angeleyes ///Oem.exhaust mod. |
Appreciate
0
|
11-11-2014, 04:18 PM | #17 | |
Captain
436
Rep 857
Posts |
Quote:
The only problem I see with this as a business is this is quite the niche project. My strongest objectives where Spotify, WAZE, and TORQUE. I really really really wanted Torque so I could display all the gauges for when I supercharged this beast. Thats what I wanted. Other people want other things. Now that I go back and look at my DIY, its quite the cluster-f*ck of info lol. There is a small percent of people doing this and very little info about it. I wanted to get this info out there in one spot. Theres so much more too! I hope the carputer folks toss out their "Pentium Inside" and adopt this kind of system. For you track guys.. I think the total weight adding is, at most, 3-4 pounds haha. As far as a business, I would take greater joy in sharing ideas and making new nerdy discoveries then making cash.
__________________
-- 08 JB e92 6MT ///M3 ESS VT2-625 --
|
|
Appreciate
0
|
04-14-2015, 10:40 PM | #19 |
Captain
398
Rep 777
Posts
Drives: E92 2013 M3
Join Date: Apr 2015
Location: MRLS, CA
|
just stumbled upon this and its great! great job!
|
Appreciate
1
|
04-14-2015, 10:49 PM | #20 |
Captain
104
Rep 996
Posts |
This is insane! Soooo wish I had half the skills to accomplish something like this.
Good job! How is the system running? Any live video of using the toque app while driving?
__________________
Performance ESS 625 VT2 Supercharger - CAE Shifter - Revinora race+ axle back - Macht Schnell down pipes - SOSI X-pipe Looks M colors grill - CF trunk - Sapphire Blue Forgestars F14 |
Appreciate
1
|
04-17-2015, 06:36 PM | #21 | |
Captain
436
Rep 857
Posts |
Quote:
I don't have any video yet but I will try and make one soon (in the middle of buying a house so I'm swamped)! Torque works fantastic on it. I am using the OBDLink MX adapter which has an extremely fast refresh rate. I don't really go into Torque all that much. The main reason I have Torque running is so I can use the "Widgets plugin" so I get gauges on the home screen (see attached). It's also verbally tells me when the engine is at operating temp and if a engine code is found. Since BMWhat now supports parameters for the S65, I would like to try that too. In honesty, I haven't tickered with the system because it works! I went from obsessing over getting it built to 'now it's just part of the car'. I'll make a video soon!
__________________
-- 08 JB e92 6MT ///M3 ESS VT2-625 --
|
|
Appreciate
0
|
04-27-2015, 06:32 PM | #22 |
Enlisted Member
12
Rep 36
Posts |
Thanks for the writeup! It's extremely helpful to have someone that has gone through the quirks with DPI changes and finding the cleanest and best looking/performing setup.
Much appreciative twowards both you and whatsinaname. I had a tablet setup in my last car performing the same functions, but would have not thought of using an androidpc. I do wonder though, what are you using for input? Just the touchpad? I have been trying to figure out how a lot of it is done without a keyboard. Thanks again! I already have an MMI setup and a system like this is going in this weekend most likely. |
Appreciate
0
|
Post Reply |
Bookmarks |
Thread Tools | Search this Thread |
|
|