Oneplus One installation failure

  • Good day folks.

    I have failed to get Ubuntu Touch installed on a Oneplus One phone and would appreciate some guidance.

    I installed the Ubuntu installer (Gdebi) 0.4.18-beta onto Linux Mint 19.2 and followed the steps in the UB Ports video
    [1] I set the phone to developer mode as specified.
    [2] I connected the phone to the computer. The phone bleeped but did not turn on.
    [3] I started the installer, selected Oneplus One manually as it was not automatically found, selected stable channel, selected no wipe, and left Bootstrap enabled.
    [4] When I tried rebooting to Bootloader with the Power and Volume+ there was no response from the phone, even after 40 seconds holding the buttons. Clicking on Continue with the installer shows Waiting For Device... Fastboot Is Scanning For Devices. Eventually a warning appears that Connection Has Been Lost.

    Given that I have never owned or used a smart phone until yesterday, and am still a neophyte with Linux, can anybody suggest what to do next? Note that I have tried two different cables and two different USB ports, all of which are known to be working, to no avail. I have also Factory Reset the phone twice.

  • Hi!
    First of all!
    Have You bootloader unlocked on your phone?

  • I can't do that. Holding the Power and Vol+ buttons for 60 seconds does nothing to the phone i.e no bleeps, no display, no response at all.

  • @cliffcoggin No that's not what they meant. OEM unlock is something that needs to be done for the installer to work. First thing just start the phone as normal and make sure you fully charge it. Then we can sort the rest for you. I am guessing you have adb and fastboot installed on your Mint OS.

  • Please explain OEM unlock.
    The phone is charged and turned on.
    I don't know about adb and fastboot but those commands in a terminal gave this:

    Android Debug Bridge version 1.0.39
    Version 1:8.1.0+r23-5~18.04
    Installed as /usr/lib/android-sdk/platform-tools/adb
    global options:
     -a         listen on all network interfaces, not just localhost
     -d         use USB device (error if multiple devices connected)
     -e         use TCP/IP device (error if multiple TCP/IP devices available)
     -s SERIAL  use device with given serial (overrides $ANDROID_SERIAL)
     -t ID      use device with given transport id
     -H         name of adb server host [default=localhost]
     -P         port of adb server [default=5037]
     -L SOCKET  listen on given socket for adb server [default=tcp:localhost:5037]
    general commands:
     devices [-l]             list connected devices (-l for long output)
     help                     show this help message
     version                  show version num
     connect HOST[:PORT]      connect to a device via TCP/IP [default port=5555]
     disconnect [HOST[:PORT]]
         disconnect from given TCP/IP device [default port=5555], or all
     forward --list           list all forward socket connections
     forward [--no-rebind] LOCAL REMOTE
         forward socket connection using:
           tcp:<port> (<local> may be "tcp:0" to pick any open port)
           localabstract:<unix domain socket name>
           localreserved:<unix domain socket name>
           localfilesystem:<unix domain socket name>
           dev:<character device name>
           jdwp:<process pid> (remote only)
     forward --remove LOCAL   remove specific forward socket connection
     forward --remove-all     remove all forward socket connections
     ppp TTY [PARAMETER...]   run PPP over USB
     reverse --list           list all reverse socket connections from device
     reverse [--no-rebind] REMOTE LOCAL
         reverse socket connection using:
           tcp:<port> (<remote> may be "tcp:0" to pick any open port)
           localabstract:<unix domain socket name>
           localreserved:<unix domain socket name>
           localfilesystem:<unix domain socket name>
     reverse --remove REMOTE  remove specific reverse socket connection
     reverse --remove-all     remove all reverse socket connections from device
    file transfer:
     push [--sync] LOCAL... REMOTE
         copy local files/directories to device
         --sync: only push files that are newer on the host than the device
     pull [-a] REMOTE... LOCAL
         copy files/dirs from device
         -a: preserve file timestamp and mode
     sync [system|vendor|oem|data|all]
         sync a local build from $ANDROID_PRODUCT_OUT to the device (default all)
         -l: list but don't copy
     shell [-e ESCAPE] [-n] [-Tt] [-x] [COMMAND...]
         run remote shell command (interactive shell if no command given)
         -e: choose escape character, or "none"; default '~'
         -n: don't read from stdin
         -T: disable PTY allocation
         -t: force PTY allocation
         -x: disable remote exit codes and stdout/stderr separation
     emu COMMAND              run emulator console command
    app installation:
     install [-lrtsdg] PACKAGE
     install-multiple [-lrtsdpg] PACKAGE...
         push package(s) to the device and install them
         -l: forward lock application
         -r: replace existing application
         -t: allow test packages
         -s: install application on sdcard
         -d: allow version code downgrade (debuggable packages only)
         -p: partial application install (install-multiple only)
         -g: grant all runtime permissions
     uninstall [-k] PACKAGE
         remove this app package from the device
         '-k': keep the data and cache directories
       to show usage run "adb shell bu help"
     bugreport [PATH]
         write bugreport to given PATH [];
         if PATH is a directory, the bug report is saved in that directory.
         devices that don't support zipped bug reports output to stdout.
     jdwp                     list pids of processes hosting a JDWP transport
     logcat                   show device log (logcat --help for more)
     disable-verity           disable dm-verity checking on userdebug builds
     enable-verity            re-enable dm-verity checking on userdebug builds
     keygen FILE
         generate adb public/private key; private key stored in FILE,
         public key stored in (existing files overwritten)
         wait for device to be in the given state
         State: device, recovery, sideload, or bootloader
         Transport: usb, local, or any [default=any]
     get-state                print offline | bootloader | device
     get-serialno             print <serial-number>
     get-devpath              print <device-path>
         remount /system, /vendor, and /oem partitions read-write
     reboot [bootloader|recovery|sideload|sideload-auto-reboot]
         reboot the device; defaults to booting system image but
         supports bootloader and recovery too. sideload reboots
         into recovery and automatically starts sideload mode,
         sideload-auto-reboot is the same but reboots after sideloading.
     sideload OTAPACKAGE      sideload the given full OTA package
     root                     restart adbd with root permissions
     unroot                   restart adbd without root permissions
     usb                      restart adb server listening on USB
     tcpip PORT               restart adb server listening on TCP on PORT
    internal debugging:
     start-server             ensure that there is a server running
     kill-server              kill the server if it is running
     reconnect                kick connection from host side to force reconnect
     reconnect device         kick connection from device side to force reconnect
     reconnect offline        reset offline/unauthorized devices to force reconnect
    environment variables:
         comma-separated list of debug info to log:
     $ADB_VENDOR_KEYS         colon-separated list of keys (files or directories)
     $ANDROID_SERIAL          serial number to connect to (see -s)
     $ANDROID_LOG_TAGS        tags to be used by logcat (see logcat --help)
    cliffcoggin@Cliffscomputer ~ $ fastboot
    fastboot: usage: no command

  • @cliffcoggin In a terminal type

    adb reboot bootloader

    wait for the phone to restart then type

    Sudo fastboot oem unlock

    When finished you can type

    fastboot devices

    and your device should be listed

    restart the phone normally and try the installer again.

  • The first command did nothing to the phone and gave me this

    ```cliffcoggin@Cliffscomputer ~ $ adb reboot bootloader
    * daemon not running; starting now at tcp:5037
    * daemon started successfully
    error: no devices/emulators found

  • Try to unset and set developer mode
    Be sure you enabled USB-debugging in developer option
    then connect your phone with USB cable it should ask you for permissions.
    If it ask confirm and on PC in terminal type "adb devices".

  • I unset and then set Developer Option, enabled debugging, and plugged in the cable. Still no response from the phone except for the charging light.

  • It's late here. I'll return tomorrow to see if anybody has further ideas.

  • @cliffcoggin Try an other USB cable.

  • The first thing you need to sort is the connection between your phone and pc. Try a few cables and just see if having the phone in file transfer/MTP mode gets that connection up.
    Once thats done you can move to the adb connection. Just keep an eye out for the grant permission box on the device.

  • I have a new cable arriving later today. Initially the old cable was working and the computer detected the phone as A0001, but later attempts told me there was no connection.

  • @Lakotaubp
    The new cable connects the phone to the computer. A0001 is mounted.

    adb reboot bootloader

    caused the phone to go into fastboot mode rather than restart.

    sudo fastboot oem unlock

    plus password gave me OKAY finished in 0.023s.

    fastbboot devices

    caused the phone to factory reset.

    Where do I go from here please?
    PS. Should "ADB over network" be enabled?

  • @cliffcoggin You do need to grant permission for the connection between pc and device that's all. I would just type in a terminal as a check

    adb devices

    Then run the installer if your device is shown that is

  • It doesn't show the phone.

    List of devices attached
    df32588a	unauthorized

    How do I authorise it?

  • I give up. I have tried every combination of instructions I can find, including the terminal command mentioned elsewhere on the forum. I'll get rid of it and stick with my dumb flip phone.

  • @cliffcoggin said in Oneplus One installation failure:

    It doesn't show the phone.

    List of devices attached
    df32588a	unauthorized

    How do I authorise it?

    Enable developper mode i guess...

    EDIT :

    @Lakotaubp said in Oneplus One installation failure:

    @cliffcoggin There should be a popup window asking you to accept the connection. Pretty sure it's on the phone when you connect. Can't remember how long it remains visable.

    Or that more probably...

  • @cliffcoggin There should be a popup window asking you to accept the connection. Pretty sure it's on the phone when you connect. Can't remember how long it remains visable.

  • Just did quick web search so you might want to try others but, with the device connected revoke usb debugging (switch it off or whatever) in Dev options then type in a terminal

    adb kill-server
    adb start-server

    You should get asked to accept the connection. If you do then check with

    adb devices

    If not have a look on the web.

Log in to reply