AI can speed up a lot of the manual labour needed to bring even an almost dead, 10-year-old device back to life. My Xiaomi Mi Max 2 (oxygen, MSM8953) was dead. With AI help and my own knowledge, I ported/rewrote the missing drivers, and it now runs Nura (postmarketOS) with working camera, torch, SIM, phone calls and SMS. Only the loudspeaker is still broken.

Everything is up for anyone who wants to install it, or to understand the changes and manually write the patches for mainline: https://github.com/sv1sjp/mi-max2-oxygen-msm8953-nura-drivers Testing, feedback and PRs welcome.

  • Grass@sh.itjust.works
    link
    fedilink
    arrow-up
    14
    arrow-down
    4
    ·
    16 hours ago

    any information on how you did it? Like what the setup was, what you asked the ai to do, etc. With the video game fusions people have been doing using claude lately I’ve become interested in AI for cutting out the most tedious, life wasting parts of reverse engineering but I haven’t seen examples involving hardware

  • erebion@news.erebion.eu
    link
    fedilink
    English
    arrow-up
    77
    arrow-down
    12
    ·
    22 hours ago

    “AI” can also speed up the process of making a code base buggy and hard to debug, when the people that generated it do not understand the code.

    Nura will not accept generated patches, by the way. It might run your own version of Nura, but will not run upstream Nura with your patches.

    • Arthur Besse@lemmy.mlM
      link
      fedilink
      English
      arrow-up
      1
      ·
      30 minutes ago

      Nura will not accept generated patches, by the way.

      If you click OP’s github link and scroll down you’ll find this section which acknowledges that: https://github.com/sv1sjp/mi-max2-oxygen-msm8953-nura-drivers#about-ai-assistance-and-contributing-upstream

      The drivers, patches, scripts and write-ups here were produced in collaboration with an AI assistant and tested on a real Mi Max 2 (oxygen).

      The Nura project does not accept LLM-generated contributions. One of its maintainers explains the reasons in this post: the social and environmental cost of these models, and the risk that people use them to produce private knowledge instead of joining and strengthening the community whose work the models learned from. We respect that decision. So:

      • This repository is not a contribution to Nura or pmaports, and its code should not be submitted there as it is.
      • It is public documentation, not private notes. The reusable part is the knowledge: how the hardware is wired, register addresses and meanings, root causes, what was tried and ruled out, and how to test safely. These are facts anyone can check on their own device. It can save time for anyone who wants to understand what works and what does not, and then write their own code to submit upstream.
      • If you want to get this into Nura or upstream, learn from it, verify it on your hardware and write your own implementation, following the rules of the project you contribute to (Nura, the Linux kernel and libcamera each have their own contribution policies).
      • Please engage with the community. The Nura wiki, the msm8953-mainline project and the people credited below did the groundwork this builds on.

      @OP (@[email protected]) what isn’t clear to me is why you don’t try to upstream the kernel parts, since Linux is accepting LLM-assisted contributions (as is Nura actually, just only indirectly after their upstreams like Linux accept them).

    • Shayeta@feddit.org
      link
      fedilink
      English
      arrow-up
      44
      arrow-down
      10
      ·
      22 hours ago

      Yeah, I personally prefer the bug-free old version:

      On a more serious note, we’re still in a period where people are figuring out what AI can/cannot be used for and what the best practices are. Ironically, since it’s better at reverse engineering and bug hunting than developing when compared to a human, it is more useful for hacker and open-source projects than enterprise.

      • altphoto@lemmy.today
        link
        fedilink
        arrow-up
        5
        arrow-down
        1
        ·
        3 hours ago

        Also Google destroyed a huge chunk of Swedish forest to build a data centers for more AI… That’s the main feature of AI. Figure that one out.

        • erebion@news.erebion.eu
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          1 hour ago

          Sadly it’s an extractive technology and business model, those are not good for society.

      • erebion@news.erebion.eu
        link
        fedilink
        English
        arrow-up
        20
        arrow-down
        12
        ·
        20 hours ago

        Well, we know the best practices for the Nura project:

        We forbid the use of generative AI tools in Nura.

        It’s literally the first sentence of their policy.

        since it’s better at reverse engineering and bug hunting than developing when compared to a human

        Citation needed.

        • Shayeta@feddit.org
          link
          fedilink
          English
          arrow-up
          6
          arrow-down
          4
          ·
          edit-2
          17 hours ago

          It’s literally the first sentence of their policy.

          Yes, but what about the 2nd sentence?

          The following is not allowed in Nura:

          • Submitting contributions fully or in part created by generative AI tools to Nura.
          • Recommending generative AI tools to other community members for solving problems in the Nura space.

          As you can see, it says nothing about researching, troubleshooting, reverse-engineering, etc. As long as you write and understand the code yourself AI is allowed for everything else. As long as you’re not using generative AI it’s fine.

          Citation needed.

          My personal experience working with AI over the past year. And if that’s not enough, here’s also Linus Torvalds himself.

          The arguments regarding resource use and profiting off of theft are valid. The arguments regarding the nature and capabilities of the tech are not. Developers ARE responsible for the code they submit, regardless of how it was created.

          • erebion@news.erebion.eu
            link
            fedilink
            English
            arrow-up
            6
            arrow-down
            3
            ·
            edit-2
            17 hours ago

            It’s not a good tool for research, it will just generate a hallucination and you end up doing something which does not work or just works somehow, but is not done correctly and will break in the future.

            I talked to quite a few people recently at the postmarketOS and Alpine Linux conference, it definitely was noticed that more contributions are now coming in that do things wrong or in a subtly broken way and the submitting people have no clue.

            If you rely on a lying computer for research, then your code will lie to you.

            • Shayeta@feddit.org
              link
              fedilink
              English
              arrow-up
              8
              arrow-down
              4
              ·
              17 hours ago

              I rely on it to scour the docs, the forums, the codebases for any and all potential solutions and neatly present them to me. I then validate and evaluate myself. Just going with the first thing the AI suggests is lunacy and is exactly what I meant by “people are still discovering best practices”.

              • erebion@news.erebion.eu
                link
                fedilink
                English
                arrow-up
                3
                arrow-down
                5
                ·
                edit-2
                8 hours ago

                Or just use Ecosia or DuckDuckGo.

                A search engine finds you places to look at and doesn’t hallucinate incorrect details.

                I know it’s perfectly possible to do mainlining of a device and work on the kernel stuff simply by reading stuff, asking people and bouncing ideas while strengthening the community in the process and having fun with other phone hackers.

                • sv1sjp@lemmy.worldOP
                  link
                  fedilink
                  English
                  arrow-up
                  5
                  arrow-down
                  4
                  ·
                  16 hours ago

                  Υes good luck finding solutions with closed source drivers by using only Search Engines and not at the end of the day…reverse engineering… I mean, technically feasible, but I cannot understand why we skip the HUGE AMOUNTS OF TIME that this kind of work needs to be done. And expertise.

                  The repository is here with an auto-installer script for anyone interested, the research is here for anyone to study and try to manually implement them to main-line. That’s the beauty of open source.

                  All in all, The device is alive again, so I would need to consume less new electronic devices in the feature so I will protect more the planet with not needing a new phone/smallserver than some data centers that I do not control!

                • Shayeta@feddit.org
                  link
                  fedilink
                  English
                  arrow-up
                  3
                  arrow-down
                  1
                  ·
                  17 hours ago

                  Unless you’re doing something extremely common with well-established patterns, search engines have sucked for the past 14 years and been unusable for the past 8. For most of that time I would just refer to official docs, and official code examples, avoiding stackoverflow and other forums since they were just filled with outdated or plain bad info.

                  Search engines like Kagi might still be decent, but they are few.

        • emergencyfood@sh.itjust.works
          link
          fedilink
          arrow-up
          5
          arrow-down
          5
          ·
          12 hours ago

          They have given five reasons for not using AI:-

          • water and energy use
          • worker exploitatio
          • worker layoffs
          • use of other’s work without consent
          • not understanding what the code is actually doing

          Of these, the first is a result of using fossil fuels, the second and third are a result of capitalism, and the fourth is only a problem if you believe in the whole ‘intellectual property’ charade. Only the fifth is an actual issue with AI, and that can be solved by either mandating human review, or marking AI-generated code as such and letting users use or exclude it.

          • diaphragmwp@discuss.tchncs.de
            link
            fedilink
            arrow-up
            4
            arrow-down
            2
            ·
            6 hours ago

            You are forgetting that basically everything is de-facto capitalism. If you use this in Christiania, you step out to Denmark and suddenly you are no longer ethical because you are contributing to capitalism.

            Oh, and you are forgetting 6: can only be trained by data harvesting corporations. Open weight != open source.

            • erebion@news.erebion.eu
              link
              fedilink
              English
              arrow-up
              3
              arrow-down
              2
              ·
              5 hours ago

              Just that.

              There is no true life within a false life.

              The philosopher Theodor Adorno sums it up quite well.

              Slavery, for example, wasn’t solved by handing slaves over to nicer owners, but by ending it.

              In a similar way, it’s not possible to improve the world by using exploitative tools, you can’t improve something while destroying it.

              For example, not using text generators because of the fossil fuels that this will burn is a good point. Just because it could use electricity from sustainable sources, does not mean it won’t hurt humanity to use it.

              Just because it could be better does not mean it is.

              I decided to not have a car, because while those can be made to hurt the planet less, they do hurt the planet a lot. And there’s already public transport. Even electric cars aren’t better than taking the train. And I live in a place where this works quite well, so I do that.

              I can do better now, not in the future when LLMs might (or might not) better.

              I don’t buy products that will quickly be trash just because the companies could build bettee products. We have a choice.

              (Footnote: Adorno wrote that sentence looking at the fascist terror in Europe in the 40s. What he is saying, basically: You can’t do the right thing when you live in a system that punishes that. Try to start a protest against cruel Nazis and you’re dead. You can’t further understanding among nations under those circumstances.)

              Sorry for the wall of text, having lots of thoughts.

          • erebion@news.erebion.eu
            link
            fedilink
            English
            arrow-up
            4
            arrow-down
            3
            ·
            8 hours ago

            I just hear “Let’s exploit others, it’s the fault of capitalism, not the fault of those driving exploitation”.

            That’s not how you make the world a better place.

        • Ptsf@lemmy.world
          link
          fedilink
          arrow-up
          12
          arrow-down
          12
          ·
          20 hours ago

          What a genuinely antithetical stance to take on a project meant to keep otherwise dying hardware alive, but that’s the beauty of open source. You don’t have to give a damn about upstream, just fork and rebase into your own little niche and move on.

            • Ptsf@lemmy.world
              link
              fedilink
              arrow-up
              10
              arrow-down
              6
              ·
              17 hours ago

              The reasons stated are not immediate granted fact, nor are they all logical. Again, fork it and move on. Nura can have whatever policy they’d like, but it doesn’t make sense not to use a tool, that it should be obvious by now can accomplish the prototyping work of entire engineering teams. In a good enough fashion to create software for revitalizing what would otherwise be ewaste. To me that doesn’t sit well with their goals, at least as applied to this reality. You can have whatever opinion on it you’d like, I know there’s a cult of anti ai on lemmy and in open source software, and I do sympathize with some of their viewpoints and the legitimate concerns.

              • erebion@news.erebion.eu
                link
                fedilink
                English
                arrow-up
                2
                arrow-down
                2
                ·
                5 hours ago

                The post from Casey, linked by lenni, addresses exactly those points. It’s still extractive and hurts communities.

                • Ptsf@lemmy.world
                  link
                  fedilink
                  arrow-up
                  3
                  arrow-down
                  2
                  ·
                  edit-2
                  5 hours ago

                  So is manufacturing new electronics. You don’t get a perfect solution, and frankly, local ai already exists that’s good enough for this type of prototyping. I’ve read through their reasoning and while I can sympathize, I do not agree with it. It’s not realistic or accomplishing their goals imo, but I maintain that’s the beauty of open source. Fork it. Move on. Thank them for their contribution.

    • geneva_convenience@lemmy.ml
      link
      fedilink
      arrow-up
      29
      arrow-down
      13
      ·
      edit-2
      20 hours ago

      On one hand you don’t know what the code is doing but on the other hand it’s impossible to write so much code by hand and do any amount of testing for projects this big

      LLM code is getting less sloppy and you now have the choice between generating open-source projects which you will never read the code of, or using an artisan coded buggy project.

      Nobody has the time to test every single communication protocol manually to see when a camera is able to take pictures or a microphone records audio. LLM’s can do this driver development and even check when the result looks good. There’s soooo much tedious labour which can already be automated.

      OP managed to revive an abandoned phone with working drivers thanks to LLM development. That’s a massive win.

      • Libre Extremist@lemmy.ml
        link
        fedilink
        English
        arrow-up
        14
        arrow-down
        3
        ·
        18 hours ago

        LLM code is getting less sloppy and you now have the choice between generating open-source projects which you will never read the code of, or using an artisan coded buggy project.

        If nobody understands the code, then I might as well use proprietary software, at least somebody will understand that code.

        • geneva_convenience@lemmy.ml
          link
          fedilink
          arrow-up
          9
          arrow-down
          4
          ·
          18 hours ago

          Too bad Android is locked down and the android versions on these devices don’t support a lot of modern apps.

          You can use Nura (PostMarketsOS) and have the LLM write the hardware drivers for your own phone which are missing from the project. This is often a pretty custom for most phones. Once you get the drivers you can use the rest of the OS like normal.

          You can now revive obsolete devices and get them useable. There’s probably some slop in there but the slop is really getting a lot better it would be great if people were more accepting for using LLM’s for extremely labour intensive tedious tasks which nobody would else do anyways.

    • hexagonwin@lemmy.today
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      3
      ·
      14 hours ago

      upstream linux does accept AI “assisted” patches. if this gets properly mainlined, why wouldn’t it run Nura?

      • Libre Extremist@lemmy.ml
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        1
        ·
        7 hours ago

        Upstream Linux kernel doesn’t let people who don’t understand things to just submit. They have rules.

        • erebion@news.erebion.eu
          link
          fedilink
          English
          arrow-up
          1
          ·
          5 hours ago

          Yeah, if changes are requested and you don’t know what the kernel maintainers want from you, you’ve lost.

  • eremophila@lemmy.zip
    link
    fedilink
    arrow-up
    29
    arrow-down
    25
    ·
    15 hours ago

    Can’t the ai trash just f*ck back off to windows, apple, and google where they belong?

    Nura is an anti ai distro

  • PushButton@lemmy.world
    link
    fedilink
    arrow-up
    4
    arrow-down
    16
    ·
    22 hours ago

    The Chinese are going to save us once again? I never thought I would root for fucking China vs US in my life.

    • elixir_fan@lemmy.ml
      link
      fedilink
      arrow-up
      22
      arrow-down
      2
      ·
      20 hours ago

      Depending on what you mean by saving us, I don’t think China will, but they’re not invading random countries, staging coups, droning civilians, etc, so these two countries are not even remotely comparable.

      • GooeyGlob@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        arrow-down
        9
        ·
        18 hours ago

        Ahem. I’m not equating these things with what you said, but China doesn’t have the cleanest hands, not even counting the myriad human right issues they look the other way on so we all get cheap tech trinkets. When your companies have to install suicide prevention nets and leave enforcement to companies outside your own borders, its not a good look.

        Not trying to do a whataboutism but they have significant issues as well.