PineTab2

From PINE64
Revision as of 18:04, 11 June 2023 by Dachalife (talk | contribs) (→‎How-to: added KaiOS phone)
Jump to navigation Jump to search
The PineTab2 with the detachable keyboard attached

The PineTab2 is PINE64's successor to the original PineTab Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.

The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is PineTab-V.

Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.

Getting started

The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.

Note: If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.

The PineTab2 ships with DanctNix Arch Linux and comes with a pre-set user and the default password 123456.

Default credentials
Default user alarm / 123456

You can create a new user and set your own password after the initial boot. To do so, go to system settings -> users and create a new profile using your preferred name and password.

Software

All operating systems for the PineTab2 are delivered by community developers and partner projects. Aside from the operating system that comes pre-installed on your device, you can install and run any other operating system available for the PineTab2. Most, if not all operating systems for the PineTab2 are open and free, such as Linux and BSD.

Since most software issues will be release-specific, please see the PineTab2 Releases page for additional software related instructions, tips, and tricks.

Releases

The PineTab2 ships with Danctnix Arch Linux ARM. The factory image can be found here:

Note: The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.

There are currently no stable releases. All releases for the PineTab2 will be listed under PineTab2 Releases as they're released. Your contributions are wanted!

Installation instructions

The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card.

Preparing the microSD card

To write an operating system to the microSD card (typically called "flashing" in the community), you need to first download a compatible image from the releases section.

Next you need to decompress the downloaded image. The images are typically compressed in an archive format such as xz to reduce the download size. If you are using a graphical tool such as balenaEtcher or Gnome Disks it will handle the decompression of the image in the flashing step automatically.

Further you need to flash the image to the microSD card. This can be done using various tools, for example balenaEtcher (recommended for new users), Gnome Disks or command-line tools such as cp and dd. Insert the microSD card in a microSD card reader connected to your computer and then choose a tool of your liking.

Graphical applications:

  • balenaEtcher (Microsoft Windows, macOS, Linux): Click on Flash from file and select the image. Then select the microSD card target device and click on Flash!.
  • Gnome Disks (Linux): Select the microSD card target device on the left side in the Disks list. Then select the three dot menu on the top right and click on Restore Disk Image.... Select the image, verify the correct device is selected and then click on Start Restoring....

Command-line tools:

  • cp: sudo cp IMAGE.img /dev/[DEVICE]
  • dd: sudo dd if=IMAGE.img of=/dev/[DEVICE] bs=1M status=progress conv=fsync
Note: Make sure to replace IMAGE.img and [DEVICE] with the filename of the image (double check if it is decompressed and has the file extension .img) and the device name. You can use the command lsblk to find the device name. Make sure to flash to the whole device instead of partition 1 and that you're NOT selecting /dev/sda1 or /dev/mmcblk0p1 as target. Be very careful to select the correct device, as the tools can overwrite your data when the wrong device is selected.

Then insert the microSD card into the PineTab2.

Note regarding the boot order: The SPI and the internal memory (eMMC) have a higher boot priority than the microSD card. The pre-installed bootloader on the internal memory (eMMC) tries to boot from the microSD card first. In some cases it can be required to bypass the bootloader, for example if the bootloader is corrupted or was overwritten by a bootloader with varying settings.

Picture of the USB UART inserted into the PineTab2. The switch to disable the eMMC and SPI is located on the top right of the image:

PineTab2 USB UARTv2.jpg

To force the device to boot from the microSD card, the eMMC and the SPI can be disabled by using the debug UART adapter shipped with the device. Set the SD BOOT MASKROM switch on the adapter to the position ON and plug it into the USB/PD charging port. Then power on the tablet and unplug the debug board or set the switch to the position OFF again when the factory image is started, otherwise the factory image won't find the eMMC.

It should now boot the new operating system from the microSD card.

Keyboard

When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned.

Change the backlight with Pinekey - Ctrl-Right.

Specifications

RK3566 icon.png
  • SoC: Rockchip RK3566
  • CPU: 4x ARM Cortex-A55 @ 1.8 GHz
    • 32KB L1 Instruction Cache and 32KB L1 Data Cache per core
    • 512KB unified system L3 cache
    • ARMv8 Cryptography Extensions
  • GPU: Mali-G52 MP2 @ 800 MHz
    • Supported by the open source 'Panfrost' driver in Linux and Mesa
    • Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions
  • NPU: 0.8 TOPS Neural Processing Unit
  • RAM: 4GB or 8GB LPDDR4
  • Storage:
  • Display: 10.1" IPS LCD Resolution 1280x800
  • Cameras:
    • Front: 2Mpx, chipset: Galaxycore GC02M2
    • Rear: 5Mpx, chipset: Omnivision OV5648
  • Battery: 6000 mAh (22.2Wh)
  • Buttons: Power, volume up, volume down
  • Network:
    • Wi-Fi
    • Bluetooth
  • I/O:
    • 1x USB-C 3.0 (top, host mode only; power output up to 680mA)
    • 1x USB-C 2.0 (bottom, device mode by default; power input)
    • 1x MicroHDMI
    • 1x 4 pole 3.5mm audio jack (microphone right) and headphone detection
    • 2x speakers + microphone (microphone left)
    • 1x 5 pin (USB 2.0; <=680mA) Pogo connector for keyboard
    • (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)
  • Multimedia:
    • rkdjpeg: 1080p120 JPEG decode
      • no driver in mainline yet
    • hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode
    • rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode
      • no driver in mainline yet
    • rkvenc2: 4K H.264 AVC/H.265 HEVC encode
      • no driver in mainline yet
  • Build: Metal and Plastic
  • Dimensions: 242x161x9mm
  • Misc:
    • Protective cover with keyboard

Development efforts

Main Article: Quartz64 Development

Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor pinetab2-specific adjustments can be found here Check the main article for the big picture; PineTab2 specific issues are listed here.

Known Issues

  • The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.
  • The BES2600 Wi-Fi driver needs porting/major cleanup. This is a priority, but for now, you can USB tether a phone or use a supported WI-FI dongle.
  • The BES2600 Bluetooth driver needs to be implemented.
  • The Camera driver needs to be written.
  • Suspend does not currently work due to a driver issue. Suspend is disabled in the factory image for your protection. Caveat Emptor if you chose to unmask the feature prior to it being fixed.

Connecting the UART adapter

The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:

  • Plug the adapter in the USB-C port furthest away from the power button
  • Plug USB-C cable into the port on the adapter marked "DEBUG"
  • Open a terminal window
  • Install minicom or screen via your distribution's package manager, if you don't have it installed already
  • Connect via minicom using sudo minicom -D /dev/ttyUSB0 -b 1500000 or via screen using sudo screen /dev/ttyUSB0 1500000

Board information, schematics and certifications

PineTab2 Board

PineTab2 mainboard schematic:

PineTab2 certifications:

Datasheets for Components and Peripherals

Rockchip RK3566 SoC information:

Frequently Asked Questions

Does the Tablet support a Pen?

No, adding a digitiser for pen inputs would make the price too high.

Can I run Android on it?

Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, you'll get better value for your money.

However, if you just need to run a few simple android apps, you might want to have a look at Waydroid which can be installed on Arch Linux ARM using the following command: sudo pacman -S waydroid

Is there SPI Flash?

Yes! A 128 Mbit flash chip (sk25lp128) is reportedly present on production devices.

My only Development Experience is Visual Basic Macros in Excel and Redstone in Minecraft, should I buy this?

At this stage, probably not, unless you're happy with a tablet that has a buggy Wi-Fi driver and no camera controller driver.

How does the Tablet compare to a Pinebook Pro?

It's slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It'll still handle web browsing, video playback and documents fine though.

What is the Performance of the PineTab2 compared to the PineTab-V?

The PineTab2 is notably faster than the PineTab-V. You can see this by comparing the Quartz64 sbc-bench results to the Star64 ones. Performance should not be a factor of consideration when purchasing a PineTab-V.

Does PineTab2 play back DRM'd Content such as Netflix?

Yes. Widevine, using the `widevine-aarch64` package in the AUR is working, and was demonstrated on the PineTab2 using Paramount+ and Disney+. Install it (`yay -S widevine-aarch64`), run the included register script to get Firefox to recognize it, and it should start working.

I only know Python, can I help with drivers?

Yes, if you learn C first. If that's too big of a hurdle, then no. (This response isn't trying to be snarky, this question was asked so many times it really needed to be here.)

How-to

Putting the Device into Maskrom Mode

To recover from a bad eMMC/SPI flash, plug the included debug adapter into the charging USB-C port and switch the white switch to its "ON" position to bypass eMMC/SPI boot. This tries to boot from SD, and if no SD is inserted, enters Maskrom mode.

Networking using USB

Until the internal BES2600 WIFI has a stable driver, the community suggests that you connect using USB. This section summarizes the more detailed information in File:PineTab2 USB Guide.pdf, which covers connecting via a tethered Android phone, a suitable USB WIFI adapter, a wired USB Ethernet adapter, and a tethered iOS device.

Selecting a USB WIFI Adapter

Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md

If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device. This should force it back into adapter mode. If this does not work, you can try installing usb_modeswitch to troubleshoot. You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it.

Performing USB Tethering with an Android Phone

This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.

You can use an Android phone as a network adapter.

You'll need:

  • An Android phone
  • A USB OTG adapter (USB-C to USB-C may work, not tested)
  • Some knowledge of your variation of Android

Do the following in order:

  • Plug in the device to the PineTab2 using the USB cable and a USB OTG adapter
  • On your android phone, open the settings app (specifics from here may vary on version)
    • Navigate to "Network & Internet"
    • Navigate to "Hotspot & Tethering"
    • Tap on "USB Tethering"

You should now see a new network interface on the PineTab2.

Performing USB Tethering with an iPhone

Prerequisite:

On the iPhone make sure that Settings -> Personal Hotspot -> Allow others to join is turned on.

  1. Use an Lightning (Apple) to USB-C (Pinetab2) cable to connect the devices.
  2. In the Pinetab make sure to use the USB-C port next to the volume keys.
  3. Once the cable is connected open your iPhone.
  4. You will see a request to trust the new device. Trust it.
  5. Confirm by typing in your Apple Device PIN

This should be it. The Pinetab2 will show you the new device and the network connects to `Wired connection 1`

Performing USB Tethering with a KaiOS phone

This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.

You can use a KaiOS phone for mobile Internet use with your PineTab2.

You'll need:

  • A KaiOS phone
  • A USB OTG adapter (hama #00200311 tested)
  • Your device’s charging cable
  • Some knowledge of your KaiOS phone

Do the following in order:

  • Plug the device into the PineTab2 using the USB cable and a USB OTG adapter
  • On your KaiOS phone, open settings (specifics from here may vary on version)
  • Navigate to "Network & Connectivity"
  • Navigate to "Internet Sharing"
  • Select "USB" and select On under USB tethering (Note: This option will be greyed out unless connected to the PineTab2)

You should now see a new network interface on the PineTab2 and it should show a wired connection icon.

External Links