Announcement

Collapse
No announcement yet.

Announcement

Collapse
No announcement yet.

Linux for RK3188 based TV boxes

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    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.
    Last edited by MustDie95; 09 October 2013, 14:00. Reason: Mod tool URL added

    Comment


      Originally posted by MustDie95 View Post
      Martyzz1,
      you can use the image provided by mmm123 in his post #1 ("Running linux from SD card or USB device..") with 3 files (firmware + module) from this post placed on SD-card. Then you can use WiFi, configuring it by CLI utils (like me) or GUI (not tested by me).

      Cheers MustDie95

      Comment


        Thanks

        Originally posted by MustDie95 View Post
        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.
        Thank You very Much...
        it worked like a charm....

        Comment


          Originally posted by Martyzz1 View Post
          Hi 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
          Not 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

          Comment


            Thanks for your kind work....

            Originally posted by mmm123 View Post
            Not 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
            I 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 ....

            Comment


              Originally posted by shaan_npl View Post
              I 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 ....
              Hmm ... 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.

              Comment


                Thanks...

                Originally posted by mmm123 View Post
                Hmm ... 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.
                Thanks 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......

                Comment


                  Originally posted by shaan_npl View Post
                  Thanks 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......
                  Kernel 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.

                  Comment


                    And another thing: echo 0bda 0179 > /sys/bus/usb/drivers/rtl8188eu/new_id trick works only if driver is loaded (so you might need to insmod it first). Just make sure there are no other wireless modules loaded.

                    Comment


                      CX-919

                      Anyone tried flashing a CX-919?

                      Comment


                        Thanks for the info...

                        Originally posted by mmm123 View Post
                        Kernel 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.
                        Thanks for the info...
                        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 Post
                          Kernel 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.
                          I 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...

                          Comment


                            Originally posted by shaan_npl View Post
                            I 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...
                            If your picuntu is installed on SD card, then use kernel from "run_form_sd_..."
                            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 Post
                              Hmm ... 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.
                              Dear mmm123
                              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


                                edit file
                                drivers/net/wireless/rtl8188eu/os_dep/linux/usb_intf.c
                                find line:
                                {USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8179)},//Default ID
                                and add this right bellow it:
                                {USB_DEVICE(USB_VENDER_ID_REALTEK, 0x0179)},//Default ID

                                Comment

                                Working...
                                X