Announcement
Collapse
No announcement yet.
Announcement
Collapse
No announcement yet.
Linux for RK3188 based TV boxes
Collapse
X
-
shaan_npl, I have used "RK3066/RK3188 Development Kitchen/Tool" (http://www.rockchipfirmware.com/developer-tools) to do this job. Just place dx05_nand_ubuntu_1.1.1.img in unpack directory and select "unpack" from menu. Then you will find boot.img, kernel.img, misc.img & ubuntu.img in "image" directory.
-
-
Thanks
Originally posted by MustDie95 View Postshaan_npl, I have used "RK3066/RK3188 Development Kitchen/Tool" (http://www.rockchipfirmware.com/developer-tools) to do this job. Just place dx05_nand_ubuntu_1.1.1.img in unpack directory and select "unpack" from menu. Then you will find boot.img, kernel.img, misc.img & ubuntu.img in "image" directory.
it worked like a charm....
Comment
-
Originally posted by Martyzz1 View PostHi guys,
it sounds like some really good progress has been made. But I'm struggling to keep up on where the latest firmware can be found to put linux (with working wifi) onto an Rk3188 which has the AP6210 wifi chip.
It sounds like some of you have done it, but by compiling your own kernels? Is there a simple firmware version I can download from somewhere and try it out?
Best regards
Marty
There are like 50 different devices with RK3188 (maybe lot more). They all have some things in common - RK3188 chip, but rest of hardware is quite different. Unfortunately Rikomagik addons to Linux kernel are made in way, whcich doesn't allow flexible hardware detection and discovery. It is understandable - their SDK is made for Android, and each manufacturer builds version only for it's device.
So there are 3 aproaches to the problem:
1- Build 50 different images, test them and give user a choice which image to use, still 49/50 will be built blindly without knowing if they work or not
2 - build somewhat flexible image - including only basic things, and everything else on modules - that is what most linux distibutions do.
Unfortunately both ways require access to specific hardware, and none of developers here has more that 1-2 devices.
For example I have Dx05, and because of that i made it work with DX05. I wasted 1 week in experiments and test and now it works quite well.
Imagine this process without hardware - beleive me I tried - building a kernel for specific hardware - give it to someone to test, get back result analyze them and then build again ... and repeat that 100 times. It is realy time consuming process without any benefits.
3 rd approach is to give instructions to people how to do it themselves. That is what i tried to do. unfortunately because of my bad english it is not so easy to understand, but still of you want realy well working version for your device, read some of the posts, try to build image yourself and test it on your device. It sounds scarry, but it is actually fun
Comment
-
Thanks for your kind work....
Originally posted by mmm123 View PostNot realy
There are like 50 different devices with RK3188 (maybe lot more). They all have some things in common - RK3188 chip, but rest of hardware is quite different. Unfortunately Rikomagik addons to Linux kernel are made in way, whcich doesn't allow flexible hardware detection and discovery. It is understandable - their SDK is made for Android, and each manufacturer builds version only for it's device.
So there are 3 aproaches to the problem:
1- Build 50 different images, test them and give user a choice which image to use, still 49/50 will be built blindly without knowing if they work or not
2 - build somewhat flexible image - including only basic things, and everything else on modules - that is what most linux distibutions do.
Unfortunately both ways require access to specific hardware, and none of developers here has more that 1-2 devices.
For example I have Dx05, and because of that i made it work with DX05. I wasted 1 week in experiments and test and now it works quite well.
Imagine this process without hardware - beleive me I tried - building a kernel for specific hardware - give it to someone to test, get back result analyze them and then build again ... and repeat that 100 times. It is realy time consuming process without any benefits.
3 rd approach is to give instructions to people how to do it themselves. That is what i tried to do. unfortunately because of my bad english it is not so easy to understand, but still of you want realy well working version for your device, read some of the posts, try to build image yourself and test it on your device. It sounds scarry, but it is actually fun
Can you pls guide me to the thread where I can read and start from the scratch to start compiling kernels. Thanks ....
Comment
-
Originally posted by shaan_npl View PostI tried so many thing to just get my rtl8188eu wifi chip work with picuntu 4.5 but couldn't. Now I am thinking to build a kernel but i am totally noob to compiling kernels but do have decent knowledge of linux.
Can you pls guide me to the thread where I can read and start from the scratch to start compiling kernels. Thanks ....
If you read some posts in this thread, I already explained what is common problems with rtl8188eu.
1) First this chip is made for PCI, so original manufacturer doesn't provide USB drivers.
2) Most of chips in TV boxes are also some kind of "non-original" and return different device ID. Driver, in linux expects original device ID and if doesn't work for fake ones, unless patched properly (like I did for DX05) - device ID i have is 0bda:0179, but driver expects 0bda:8179.
3) Third problem is even more hardware-dependant. Some WiFi devices have mechanism to turn on/off (what you do in android with on/off button) this mechanism is usually controlled via GPIO pins from CPU. CPU has 14 different GPIO pins, and they are used for different purposes. It is up to hardware board designer to decide which GPIO pin to connect to Wifi on/off pin.
4) And I don't even want to start with collaboration with Bluetooth ....
So in your case - compiling kernel - browse forum (this thread and others in this forum) there is explanation how to prepare and build kernel. If you already have way to boot linux (via android kernel or any other somehow working kernel), start modifying it in order to fit for your hardware. Config file for my kernel is posted somewhere in forum it is good start if this kernel boots on your device.
Modifying Kernel sources to support different chip IDs sounds scary, but it is easier that it sounds. Finding proper GPIO on the other hand dangerous process. If you are lucky your chips doesn't use any or uses defaults.
Comment
-
Thanks...
Originally posted by mmm123 View PostHmm ... Starting from scratch and compiling kernels "howto" is definitely not for this forum. I guess there are other linux forums where you could get basics.
If you read some posts in this thread, I already explained what is common problems with rtl8188eu.
1) First this chip is made for PCI, so original manufacturer doesn't provide USB drivers.
2) Most of chips in TV boxes are also some kind of "non-original" and return different device ID. Driver, in linux expects original device ID and if doesn't work for fake ones, unless patched properly (like I did for DX05) - device ID i have is 0bda:0179, but driver expects 0bda:8179.
3) Third problem is even more hardware-dependant. Some WiFi devices have mechanism to turn on/off (what you do in android with on/off button) this mechanism is usually controlled via GPIO pins from CPU. CPU has 14 different GPIO pins, and they are used for different purposes. It is up to hardware board designer to decide which GPIO pin to connect to Wifi on/off pin.
4) And I don't even want to start with collaboration with Bluetooth ....
So in your case - compiling kernel - browse forum (this thread and others in this forum) there is explanation how to prepare and build kernel. If you already have way to boot linux (via android kernel or any other somehow working kernel), start modifying it in order to fit for your hardware. Config file for my kernel is posted somewhere in forum it is good start if this kernel boots on your device.
Modifying Kernel sources to support different chip IDs sounds scary, but it is easier that it sounds. Finding proper GPIO on the other hand dangerous process. If you are lucky your chips doesn't use any or uses defaults.
http://data.a41z.net/X9fG54/dx05_nand_debian_1.1.1.7z which worked perfectly. Then I tried Mr AlokSinha picuntu 4.3 and 4.4 and my wifi worked using your suggestion to use #echo 0bda 0179 > /sys/bus/usb/drivers/rtl8188eu/new_id but this trick doesn't work in picuntu 4.5. I tried everything i could but with no success so I decided to try to compile one for picuntu 4.5.
I needed something to start from..., and this post of yours is really valuable and informative.
Thanks......
Comment
-
Originally posted by shaan_npl View PostThanks for your informative reply....As for my stick its mk802IV and I used your nand debian image
http://data.a41z.net/X9fG54/dx05_nand_debian_1.1.1.7z which worked perfectly. Then I tried Mr AlokSinha picuntu 4.3 and 4.4 and my wifi worked using your suggestion to use #echo 0bda 0179 > /sys/bus/usb/drivers/rtl8188eu/new_id but this trick doesn't work in picuntu 4.5. I tried everything i could but with no success so I decided to try to compile one for picuntu 4.5.
I needed something to start from..., and this post of yours is really valuable and informative.
Thanks......
So if you have working kernel, you can use it with any distro - ubuntu, picuntu, debian, whatever.
In your case - get working kernel, and modues which go with it. Install picuntu 4.5, and replace it's kernel with working one and it's modules. Of course unless there is some problem with wireless utils in distro which is not very likely.
Comment
-
Thanks for the info...
Originally posted by mmm123 View PostKernel and distro are 2 separate things. Then only part they mix is modules (and eventually firmwares), as they have to be installed in /lib/modules dir.
So if you have working kernel, you can use it with any distro - ubuntu, picuntu, debian, whatever.
In your case - get working kernel, and modues which go with it. Install picuntu 4.5, and replace it's kernel with working one and it's modules. Of course unless there is some problem with wireless utils in distro which is not very likely.
Today I opened up my mini stick mk802 IV just to check the wifi chipset. I found ..
1. Wifi chipset is Realtek RTL8188ETV (dmesg gives me VID=0bda PID=0179)
2. Bluetooth Chipset is RDA 5876 (ES162242), info at http://www.rdamicro.com/products/Detail_194.aspx.
I tried to search for bluetooth driver, couldn't get any but found out the source code for it.
Same is attached here...
I hope it would be useful for the developers...Attached Files
Comment
-
Originally posted by mmm123 View PostKernel and distro are 2 separate things. Then only part they mix is modules (and eventually firmwares), as they have to be installed in /lib/modules dir.
So if you have working kernel, you can use it with any distro - ubuntu, picuntu, debian, whatever.
In your case - get working kernel, and modues which go with it. Install picuntu 4.5, and replace it's kernel with working one and it's modules. Of course unless there is some problem with wireless utils in distro which is not very likely.
1. Extracted kernel from your Nand debian image using RK3xxx_firmware_tools
2.Repaced picuntu kernel with it...
Stick keeps on rebooting......
Can you provide a link to your kernel image for nand debian ...?
Thanks...
Comment
-
Originally posted by shaan_npl View PostI tried to do as you suggested by device keeps on rebooting, there is flicker on the TV screen here and there but nothing comes on the screen.
1. Extracted kernel from your Nand debian image using RK3xxx_firmware_tools
2.Repaced picuntu kernel with it...
Stick keeps on rebooting......
Can you provide a link to your kernel image for nand debian ...?
Thanks...
Also boot.img and kernel.img are going together (so if you get kernel.img, also get boot.img from same source)
If picuntu is installed on nand, then you need kernel.img+boot.img from "run_form_nand"
Boot.img is initd image. It expects some of nand partitions to have specific names. E.g on my run_from_nand (debian and ubuntu) initrd image (boot.img) expects that rootfs is on nand partition labeled "linux". I don't know how picuntu partitions nand when it is run from nand. You might need to edit boot.img. Several pages earlier in this thread I explained how to play with boot.img.
Comment
-
Originally posted by mmm123 View PostHmm ... Starting from scratch and compiling kernels "howto" is definitely not for this forum. I guess there are other linux forums where you could get basics.
If you read some posts in this thread, I already explained what is common problems with rtl8188eu.
1) First this chip is made for PCI, so original manufacturer doesn't provide USB drivers.
2) Most of chips in TV boxes are also some kind of "non-original" and return different device ID. Driver, in linux expects original device ID and if doesn't work for fake ones, unless patched properly (like I did for DX05) - device ID i have is 0bda:0179, but driver expects 0bda:8179.
3) Third problem is even more hardware-dependant. Some WiFi devices have mechanism to turn on/off (what you do in android with on/off button) this mechanism is usually controlled via GPIO pins from CPU. CPU has 14 different GPIO pins, and they are used for different purposes. It is up to hardware board designer to decide which GPIO pin to connect to Wifi on/off pin.
4) And I don't even want to start with collaboration with Bluetooth ....
So in your case - compiling kernel - browse forum (this thread and others in this forum) there is explanation how to prepare and build kernel. If you already have way to boot linux (via android kernel or any other somehow working kernel), start modifying it in order to fit for your hardware. Config file for my kernel is posted somewhere in forum it is good start if this kernel boots on your device.
Modifying Kernel sources to support different chip IDs sounds scary, but it is easier that it sounds. Finding proper GPIO on the other hand dangerous process. If you are lucky your chips doesn't use any or uses defaults.
As you stated
2) Most of chips in TV boxes are also some kind of "non-original" and return different device ID. Driver, in linux expects original device ID and if doesn't work for fake ones, unless patched properly (like I did for DX05) - device ID i have is 0bda:0179, but driver expects 0bda:8179.
I am very close to get my kernel compiled supporting my chipset for picuntu.
can you please tell me, how did you patch your driver to make it work....
Thanks...
Comment
What's Going On
Collapse
There are currently 4900 users online. 4 members and 4896 guests.
Most users ever online was 63,956 at 18:56 on 20 March 2025.
Comment