UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Nexus 7 LTE General Bugs/Problems & Workarounds

    Scheduled Pinned Locked Moved Google Nexus 7 2013 LTE/WiFi
    26 Posts 6 Posters 5.3k Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • T Offline
        Tonoxis
        last edited by Tonoxis

        Nexus 7 LTE General Issues, Fixes and Workarounds

        HUGE UPDATE, Please see the issue list for update

        Why?

        Because I have recently picked up a 'deb' and after using the Nexus 7 WiFi (flo) I was expecting a very similar experience, seeing as they're effectively the exact same device with a cellular modem and a sim slot added (all the way down to the baseband and bootloader, the deb uses Flo images and is even just an add-on to the flo device tree when compiling Android).

        Unfortunately, that was not meant to be, immediately after installing ubPorts, I noticed the following issues and set out to either workaround them or fix them. It's been a very long process and I am a newbie to compiling an Android system image (i've done many a kernel, and application, but never the full Android), so progress is slow. This post will serve as a chronicle of the issues found, and any applicable fixes.

        Issues:

        1. Bluetooth doesn't function on the 'deb' image

        UPDATE: This is indeed caused by the kernel image in use.
        This issue is caused by two things, the kernel image that's shipped with the 'deb' installation, and a missing upstart unit in /etc/init for our device. This is easily fixed by compiling a kernel (or using a pre-built kernel) image for the 'flo' (Nexus 7 WiFi). Doing so actually appears to improve the stability and functionality of the device as a nice addition.

        4. Camera is completely non-functional

        UPDATE: I have finally been able to get logs, I'll upload them when I get a chance!

        When I say non-functional, I mean anything that even requests access to the Camera crashes. I created a Nextcloud webapp on my device and it would only open if I deselected the Camera permission. This issue is the most perplexing out of all of these, second only to the external pointer rotation issue, as there are absolutely NO logs generated regarding the camera, or any application that attempts to access it.

        5. Device does not power down or otherwise appear to reboot.

        [NOTE]: I have invalidated this issue as it appears there are some slight minute differences between the Flo and Deb defconfigs that aren't represented in the current kernel trees, as building with the kernel configuration found in the ubPorts deb image's android rootfs yielded a kernel in which auto-rotation, slimport and reboot/power-down appear to function properly.

        Observations

        1. Both me and @doniks feel that it's extremely bizarre that the Flo runs perfectly, but it's sister device the Deb (LTE) runs so poorly. As they're the exact same device and system image with an added RIL, it should run exactly the same right?!
          • [4/27/2021]: so there are some differences between the Flo and Deb in terms of kernel configuration, I am still attempting to figure out what the difference exactly is though. For now I have patched my own deb/flo configs with the config that I found, and things are working almost as great as on the Flo (no camera though :crying_face: )

        Now, onto the fixes and good stuff!

        Kernel Modifications

        NOTE: Please note that you can use this kernel image in both a Flo and a Deb, however it may not boot on the Flo due to initramfs differences. If you install the kernel image on a Flo, I recommend extracting the kernel itself using abootimg and using the initramfs you already have.

        What works
        • Bluetooth
        • WiFi
        • Mobile Connectivity (I do not have a SIM to test voice with, only data)
        • Auto-Rotation
        • Anbox (needs some extra work to get networking working properly on each reboot at this stage though)
        What's been added
        • Anbox backported drivers
        • zRAM Kernel Module for creating a compressed swap space (this requires some extra effort to enable at this time)
        • Linux 4.2 Backports repository (Bluetooth Driver, Anbox)
        Download

        Download Link: https://1drv.ms/u/s!AqACoL07fxpWp8gGGF_GTmO8f-tCKw?e=xe4VUt
        Kernel Source Tree: https://tonoxisisle.services/git/TononixOS/ubports_kernel_google_msm
        (don't mind the repository convention, I was working on making my own personal distribution using ubPorts as a base)
        Please pardon my git mess, more android repositories will appear as I attempt to work through these device trees and the compilation process.

        Information

        This kernel is a fork of ameyagokhale's lovely Anbox enabled kernel source tree and contains a couple extra additions:

        • Working zRAM module. In my own experience, zRAM has helped make the system more reliable as I have experienced less application crashing due to low memory than previously. It also removes some strain on our NAND chips by moving swap into a compressed space in RAM instead of a swapfile on the data partition. As our device does not use zRAM under Android, this driver remains uninitialized at startup. You can either create an upstart unit to set up zRAM which then triggers the zram-touch unit, or you can do the following in a terminal:

          1. sudo zramctl -s <size> [Personally, I use 2G as the size]
          2. sudo start zram-touch which sets up ubPorts to use zRAM as it's swap, and dumps the SWAP.img image in /userdata, saving our NAND some write cycles.
        • OverlayFS v13, this module is disabled and not compiled into my kernel images by default, if you want to play with this module, compile it yourself. I had originally pulled it in to provide rootfs overlay support for Anbox (allowing the installation of Google Apps and other System utilities), however Anbox crashed when creating the overlay. I find this extremely odd as I could create the same overlay by hand as root.

        • Obviously Anbox support! YES! We have Anbox support now (courtesy of ameyagokhale)! To use it, install the kernel image and then open terminal, then run the following commands:

          • anbox-tool install
          • anbox-tool enable

          Anbox should start running and you should start seeing Android applications in the app drawer. Do note that applications do not rotate their orientation and thus must be used in their portrait orientation (as I understand it from reading issue tickets and the like, that is currently a limitation on the Mir port of Anbox that ubPorts is using). This is all very experimental.

        FAQ and Notes

        1. Anbox support on the Flo/Deb is still very experimental, you may run into the following:

          1. Applications do not rotate, and appear stretched and distorted when forced
          2. No networking on startup, this is due to anbox-bridge failing to create the bridge and enable it via iptables inside the container.
          3. Sometimes the container just plain out refuses to start.
        2. We have Anbox which uses LXC, does this mean we can use the LXC-type Libertine Containers?

          No. For whatever reason, despite running Anbox's LXC container, and the Halium Android LXC container, Libertine runs into a namespace issue while creating it's container. Unfortunately, we are still very much a chroot-only device for the sake of Libertine.

        3. I've downloaded your TonoKernel before for ubPorts 15.04, where are all the extra features like DoubleTap2Wake?

          I opted to leave those out of this kernel tree, as I'm working to stabilize and improve the device support as much as possible, I'd prefer to keep extra features out of it while that work progresses. I have given thought to re-introducing those features in the future as a separate download, but I hope to eventually get this modified kernel adopted by ubPorts for the deb as it fixes a couple issues (mainly bluetooth).

        Wanna Help?

        I'm not so great with the actual Android development side of things, it would be an immense help to try to get a Halium 7.1 system image (that boots into ubPorts mind you) made for the Deb/Flo devices. My efforts keep ending up with a broken system that refuses to boot.

        Lastly! Keep an eye on this post, I will be updating it as I continue my research and development!

        Changelog:

        4/24/2021: Reformatted entire post to clean up the issue list and observations. As well as provide a clear structure for keeping this information on track.
        4/27/2021: Removed kernel download link, it's getting replaced here in a couple hours.

        Current Status

        4/24/2021: Attempting to build Halium-7.1 based system image for the Flo as research, my Deb image refused to boot the container. I'm curious if the Flo image will fare the same.
        4/25/2021: Installed a easily compiled deb image, Halium got to starting the init process and then... nothing, no screen change, no logs, just nothing.
        4/27/2021: I didn't even NEED to recompile Android, I just needed a good kernel configuration file for the deb. Turns out the flo_defconfig is missing some options, merging /system/boot/config-3.4.0-4-flo with my normal defconfig file has yielded a kernel with a vastly superior experience to the previous one in use (either by ubPorts installer or my own link here). I am recompiling the kernel using the new kernel configuration and it should be available soon after I test it.
        4/27/2021: Kernel problem fixed! Bluetooth works, Auto-rotation works, Slimport works properly! Updated post with new download link and removed old invalid issues.

        D flohackF 2 Replies Last reply Reply Quote 1
        • D Offline
          doniks @Tonoxis
          last edited by

          @tonoxis said in Nexus 7 LTE General Bugs/Problems:

          In the unity8 logs, I am seeing "Invalid EDID Structure Size" appearing

          do you see the same on flo?

          T 1 Reply Last reply Reply Quote 0
          • T Offline
            Tonoxis @doniks
            last edited by

            @doniks I don't believe I did. The Flo worked flawlessly with Slimport, had the right screen resolution and all. They're using the same kernel, so the Slimport driver (drivers/misc/anx7808) shouldn't be the issue either.

            1 Reply Last reply Reply Quote 0
            • flohackF Offline
              flohack @Tonoxis
              last edited by

              @tonoxis Sorry I cannot help with the external display. We are not configuring this somewhere I thin kbut just take the defaults from the driver. But other people might know better....

              My languages: 🇦🇹 🇩🇪 🇬🇧 🇺🇸

              T 1 Reply Last reply Reply Quote 0
              • T Offline
                Tonoxis @flohack
                last edited by

                @flohack cool, thanks for the reply anyway though!.I'm trying to recompile the Android system image as Halium-7.1 but my system.img is too small, so I'm waiting on it to transfer to my PC for resizing.

                Hopefully my current list, observations and efforts eventually provide some help for us to bring the Deb up to par with Flo.

                1 Reply Last reply Reply Quote 0
                • A Offline
                  a8ksh4
                  last edited by

                  Adding notes on my experiences here. I flashed the dev branch on my deb yesterday. Grabbed the boot image from here today and did:

                  # fastboot flash boot ./boot.img

                  Rebooted and working on setup steps here:

                  # sudo zramctl -s 2G
                  zramctl: no divice specified
                  # sudo zramctl --find -s 2G
                  /dev/zram0
                  # sudo start zram-touch
                  zram-touch stop/waiting
                  # anbox-tool install

                  This downloads a package, and then hangs. When I ctrl-c if after a while, the tracebach indicates it's in the waitForAnbox function, at time.sleep(1).

                  If I do anbox-tool disable, and then anbox-tool enable, it says 'start: Job failed to start' and hangs like before.

                  I'm going to have to try and get an external keyboard working so I can look for logs or something to see what's happening.

                  Thanks for all the work so far on flo and deb!

                  T 1 Reply Last reply Reply Quote 0
                  • T Offline
                    Tonoxis @a8ksh4
                    last edited by Tonoxis

                    @a8ksh4 By chance are you using any Slimport cables? I'd like to have someone test that Slimport is still functioning in the current Dev branch as it had stopped after an update for me despite using the same kernel, which had more or less fixed Slimport previously after switching over to using the Flo kernel config instead of the Deb kernel config.

                    As for Anbox, that's definitely not typical, I wonder if something has changed in how it's supposed to be installed since I wrote those instructions. As I was able to install it, but have a hard time getting it running consistently.

                    One problem I noticed is that there seems to be a lack of firewall rules that are added, where the script anbox-bridge is supposed to handle them. It doesn't seem to function right on our devices and if you make the anbox-bridge script return true, it should get you past "Job failed to start". There's an old Anbox issue ticket that applies here: https://github.com/anbox/anbox/issues/443 and is linked to the ubports Anbox ticket: https://github.com/ubports/anbox/issues/42 both are applicable because even if Anbox starts properly, the firewall isn't initialized properly and thus anbox has no internet functionality.

                    1 Reply Last reply Reply Quote 0
                    • _ Offline
                      _Joao_
                      last edited by

                      is there a video tutorial to switch to flo? thanks in advance.
                      long live the free world

                      T 1 Reply Last reply Reply Quote 0
                      • T Offline
                        Tonoxis @_Joao_
                        last edited by

                        @joao-0 There is not, I do not put out video tutorials. If you really want to run the Flo software, run the UBports installer and then follow the instructions for if your device wasn't detected and select the Flo. Of course, this means you'll lose LTE connectivity as the Flo image does not support it, for that, you need to Frankenstein the device with a Deb image and Flo kernel.

                        Because of how sensitive that proceedure is, I advise against YouTube tutorials due to many possibilities, however I'll use the most prominent one from another homebrew scene as my reason why I do not do videos, over in the Nintendo3DS homebrew scene, a dude bricked people's consoles because he uploaded a "One Size Fits All" package with a video, containing device specific files that wouldn't work when put into another console.

                        If you want a decent Deb experience, download the boot.img in my OP, fastboot up TWRP, and then install the boot.img into the boot partition using it. Reboot. Done.

                        If you are wanting to use this kernel with a Flo product, simply do the same things. Both Nexus 7 models use the same kernel anyway.

                        _ 1 Reply Last reply Reply Quote 0
                        • _ Offline
                          _Joao_ @Tonoxis
                          last edited by

                          @tonoxis
                          Thank you for your reply.
                          I'm going to stay like this and forget the Bluetooth. I already tested flo by installer and it didn't work. Without video to test your img, it's too complicated...
                          Thanks anyway.

                          Merci pour votre réponse.
                          Je vais rester comme ça et oublier le Bluetooth. J'ai déjà testé flo par l'installateur et cela n'a pas fonctionné. Sans vidéo pour tester votre img, c'est trop compliqué...
                          Merci quand même.

                          T 1 Reply Last reply Reply Quote 0
                          • T Offline
                            Tonoxis @_Joao_
                            last edited by

                            @joao-0 Ah, if you've already done the Flo installation, then open a terminal and do sudo start bluetooth-touch-flo

                            If you want this working on every boot:
                            sudo mount -o remount,rw /
                            sudo cp /etc/init/bluetooth-touch-flo.conf /etc/init/bluetooth-touch-deb.conf

                            This is because despite running a Flo kernel, the hardware still reports it's a deb, and the ubPorts image appears to be missing the upstart item for the deb, and is missing a redirect from bluetooth-touch to just use the flo version regardless.

                            _ 1 Reply Last reply Reply Quote 1
                            • _ Offline
                              _Joao_ @Tonoxis
                              last edited by

                              @tonoxis
                              sorry I do not speak english.
                              UBPORTS_Software_ refuses_FLO_on my nexus 7.
                              Thanks anyway

                              KenedaK 1 Reply Last reply Reply Quote 0
                              • KenedaK Offline
                                Keneda @_Joao_
                                last edited by

                                @joao-0
                                Use this website to translate : https://www.deepl.com/translator

                                2015-2023 : Meizu MX4 ☠️⚰️✝️
                                2023-2024 : Nexus 5 ☠️⚰️✝️
                                2024-***** : FPOS Fairphone 5 waiting UT for freedom 😉
                                🇲🇫🇬🇧

                                _ 1 Reply Last reply Reply Quote 0
                                • _ Offline
                                  _Joao_ @Keneda
                                  last edited by

                                  @keneda
                                  hi
                                  _translation_approximate_Thank you

                                  https://translate.google.fr

                                  KenedaK 1 Reply Last reply Reply Quote 0
                                  • KenedaK Offline
                                    Keneda @_Joao_
                                    last edited by

                                    @joao-0
                                    I don't use android anymore to avoid google, why the hell i would use google translate ?

                                    Plus translation with deepl was accurate every time i tested it.

                                    2015-2023 : Meizu MX4 ☠️⚰️✝️
                                    2023-2024 : Nexus 5 ☠️⚰️✝️
                                    2024-***** : FPOS Fairphone 5 waiting UT for freedom 😉
                                    🇲🇫🇬🇧

                                    1 Reply Last reply Reply Quote 0
                                    • _ Offline
                                      _Joao_
                                      last edited by

                                      @keneda
                                      ok.
                                      no worry.

                                      T 1 Reply Last reply Reply Quote 0
                                      • T Offline
                                        Tonoxis @_Joao_
                                        last edited by

                                        @joao-0 Apologies, wish I had a better way of helping you install it. If you've got my boot.img, and have TWRP on your device, you could always flash it that way.

                                        Or you can boot to Fastboot/bootloader, and issue a
                                        fastboot boot <path/to/boot.img> for temporary testing,
                                        or
                                        fastboot flash boot <path/to/boot.img for permanent installation
                                        from a computer

                                        _ flohackF 2 Replies Last reply Reply Quote 0
                                        • _ Offline
                                          _Joao_ @Tonoxis
                                          last edited by

                                          @tonoxis
                                          A big thank you I managed to make the Bluetooth work with your boot.img
                                          Long live the free world

                                          1 Reply Last reply Reply Quote 0
                                          • flohackF Offline
                                            flohack @Tonoxis
                                            last edited by

                                            @tonoxis if you have any changes in your boot image that improve the device´s experience, please try to work with us in getting them into our default image. That could be nice!
                                            thanks

                                            My languages: 🇦🇹 🇩🇪 🇬🇧 🇺🇸

                                            _ 1 Reply Last reply Reply Quote 2
                                            • _ Offline
                                              _Joao_ @flohack
                                              last edited by

                                              @flohack
                                              yes no problem, how can I help?

                                              flohackF 1 Reply Last reply Reply Quote 0
                                              • First post
                                                Last post