Difference between revisions of "PineTab2"

From PINE64
Jump to navigation Jump to search
(→‎Software: Swapped order)
(Undo revision 19769 by Andree (talk) I don't really agree with that. The wiki is for all releases, it is very strange to turn it into a list of bugs of one specific release)
Tag: Undo
(19 intermediate revisions by 3 users not shown)
Line 19: Line 19:
|-
|-
! Default user
! Default user
| <code>123456</code>
| <code>alarm / 123456</code>
|}
|}


Line 33: Line 33:


* https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)
* https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)
{{Info|The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.}}


There are currently no further releases. Future releases for the PineTab2 will be listed under [[PineTab2 Releases]]. Your contributions are wanted!
There are currently no further releases. Future releases for the PineTab2 will be listed under [[PineTab2 Releases]]. Your contributions are wanted!
Line 40: Line 42:
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card.
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card.


'''Installation to microSD card:'''
'''Preparing the microSD card'''


To install an operating system to the microSD card (typically called "flashing" in the community), you need to first download a compatible image from the [[#Releases|releases]] section.
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|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.
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.
Line 62: Line 64:
{{Info|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 <code>lsblk</code> 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.}}
{{Info|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 <code>lsblk</code> 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 and boot the device. It should now boot the new operating system from the microSD card.
Then insert the microSD card into the PineTab2.
 
{{Hint|'''Note regarding the boot order:''' The internal memory (eMMC) has a higher boot priority than the microSD card. In some cases it can be required to bypass the boot order, for example if the installation on the eMMC is corrupted.}}
 
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:
 
[[File:PineTab2 USB UARTv2.jpg|600px]]
 
{{Hint|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 ==


'''Installation to the internal memory (eMMC):'''
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned.


Flashing to the internal memory (eMMC) can be done by booting an operating system from the microSD card (see above) and then using the above command-line tools to overwrite the eMMC.
Change the backlight with '''Pinekey - Ctrl-Right'''.


== Specifications ==
== Specifications ==
Line 119: Line 133:
{{SeeMainArticle|Quartz64 Development}}
{{SeeMainArticle|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. Check the main article for the big picture; PineTab2 specific issues are listed here.
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 [https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable here] Check the main article for the big picture; PineTab2 specific issues are listed here.


=== Known Issues ===
=== Known Issues ===


* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.
* 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 [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].
* The [https://gitlab.com/TuxThePenguin0/bes2600 BES2600 Wi-Fi driver] needs porting/major cleanup. This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].
* The BES2600 Bluetooth driver needs to be implemented.
* The BES2600 Bluetooth driver needs to be implemented.
* The Camera driver needs to be written.
* 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.
* 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 <code>sudo minicom -D /dev/ttyUSB0 -b 1500000</code> or via screen using <code>sudo screen /dev/ttyUSB0 1500000</code>


== Board information, schematics and certifications ==
== Board information, schematics and certifications ==
Line 214: Line 238:


You should now see a new network interface on the PineTab2.
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.
# Use an Lightning (Apple) to USB-C (Pinetab2) cable to connect the devices.
# In the Pinetab make sure to use the USB-C port next to the volume keys.
# Once the cable is connected open your iPhone.
# You will see a request to trust the new device. Trust it.
# 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`


== External Links ==
== External Links ==

Revision as of 15:03, 7 June 2023

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.

Releases

The PineTab2 ships with Danctnix Arch Linux. 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 further releases. Future releases for the PineTab2 will be listed under PineTab2 Releases. 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 internal memory (eMMC) has a higher boot priority than the microSD card. In some cases it can be required to bypass the boot order, for example if the installation on the eMMC is corrupted.

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:
    • 64GB or 128GB internal eMMC
    • 1x MicroSD slot
  • 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
    • 1x USB-C 2.0
    • 1x MicroHDMI
    • 1x 3.5mm audio jack
    • 1x 5 pin 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:

  • Available soon

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.

Is there SPI Flash?

Unclear. The schematic shows a 128Mbit SPI flash chip, but it's possible that production models won't have it populated. Update this section once we've determined this.

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?

No, there are no Widevine binaries included in the image the PineTab2 ships with. They need to be taken from ChromeOS and probably patched https://gist.github.com/DavidBuchanan314/c6b97add51b97e4c3ee95dc890f9e3c8

How-to

Putting the Device into Maskrom Mode

To recover from a bad eMMC/SPI flash, it seems you can make the bootrom enter the USB recovery mode by applying a low(?) signal to the SSTX1_P or SSTX2_P pin of the USB2-only Type-C connector (the one that does UART.)

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`

External Links