kebasaa / Parrot-Sequoia-access

Information on accessing the Parrot Sequoia
GNU General Public License v3.0
1 stars 0 forks source link

Parrot Sequoia access information

Information on accessing the Parrot Sequoia. Use Linux to access most easily.

Hardware reset

Push the button twice shortly and then once very long (10-20 sec). This does reset the camera for me, but does not change anything. Parrot support claims that this means you may have to replace the camera. This repository is to try to fix it, as replacing the camera is expensive after the warranty runs out (2 years).

RS232/UART interface logging of boot information

Materials:

Steps: 1) Disassemble the Parrot Sequoia (see disassembly instructions) 2) Connect GND to GND 3) Connect RX to TX, and TX to RX 4) Reassemble the Sequoia outside of its casing. 5) Connect your USB-to-UART/RS232 bridge. On Windows, check which COM port it creates. 6) Open Putty (https://www.putty.org/), select Serial and for speed a Baud rate of 115200 7) If you want to log the outputs, select "Session -> Logging", and select your desired file name 8) Connect the Sequoia to USB for power. IMPORTANT: Connect it to the same device as the USB-to-UART/RS232 bridge, otherwise the power circuit could get fried

Wiring for RS232/UART interface on Parrot Sequoia main board

Network map

The Parrot Sequoia is accessible through wifi on 192.168.47.1 and through USB on 10.1.1.2.

Button presses & LED codes

For LED flashing codes, check the manual

Software access

Connect the Sequoia to the USB port of a Linux computer. Check if the Sequoia connected as a USB network device. It should show up as a usb0 device:

ifconfig

If the Linux computer does not connect, give it an ip address (you may need to do this as root):

ifconfig usb0 10.1.1.7

You should now be able to connect through the methods below.

ADB

On a Linux computer (ideally a Ubuntu or similar distribution):

sudo apt-get update
sudo apt-get install android-tools-adb
OR:
sudo apt-get install adb

Then you can log conntect to the Sequoia and remount the root partition to write onto with

adb connect 10.1.1.2:9050
adb shell mount -o remount,rw /
adb shell

You are now root on the Sequoia with full write permissions on the built-in Sequoia shell (Ash).

If you just want to push a file, e.g. a firmware file:

adb push sequoia_update_171.plf /update/sequoia_update.plf

File system write access

To gain write access to configuration files:

mount  -o remount,rw /

Enable Telnet

You can enable Telnet by editing /etc/boxinit.d/80-telnet.rc:

vi /etc/boxinit.d/80-telnet.rc

Change the third line to enabled:

service telnetd /usr/sbin/telnetd -F -l /usr/bin/shl
    class main
    enabled

Now reboot the Sequoia, and then:

telnet 10.1.1.2

SSH

WARNING: Some processes will not work if a root password is set. Do this at your own risk

Use ADB or Telnet to access the shell. You can now change the root password, which will give you SSH access:

passwd

Then you can connect through SSH (example using wifi IP address):

ssh -o HostKeyAlgorithms=+ssh-rsa root@192.168.47.1

In order to reset the root password to nothing, edit the /etc/passwd file and set the password to x

vi /etc/passwd

Commands

Shutdown:

sprop sys.poweroff 1

Reboot:

reboot

Factory reset:

/usr/bin/factory_reset_or_shutdown.sh reset

View logs:

ulogcat -C

Force wifi to start:

ifconfig wlan0 192.168.47.1 netmask 255.255.255.0 up
hostname Sequoia
pstart dnsmasq_wlan0
pstart hotspot_cfg

Firmware downgrade

The Parrot Sequoia checks the firmware version of files that are placed in its memory. If the firmware is the same or lower than that already installed, the firmware file will be deleted and nothing happens.

At this point, doing a firmware downgrade does not seem possible. If anyone has information on this, I would appreciate it.

NOTE: The following commands trigger a firmware update (but not a downgrade)

pinst_trigger 1
reboot; exit

Hardware documentation

Things to attempt:

How to

Scanning with NMap

To find the IP address, first see if the USB network device is connected. Alternatively, you can of course also do this through the WIFI interface. Then scan it.

ifconfig
nmap -sP 10.1.1.0/24

Assuming that NMap yielded 10.1.1.2 for the IP address, scan the device with

ifconfig
nmap -NP 10.1.1.2

Information on firmwares

Boot loader access

I currently don't know how to access the boot loader exactly, or whether it's even relevant. However, it appears that the Sequoia will boot into an android-style bootloader if the button is pressed while the device gets powered on.

Credits

Thanks to the following people