Jump to content

Toshiba AC100(paz00)

From postmarketOS Wiki
Note This device is supported as part of a generic port. Refer to Nvidia Tegra armv7 (nvidia-tegra-armv7) for installation instructions and more information.
Toshiba AC100
Toshiba AC100 stock
Toshiba AC100 stock
Manufacturer Toshiba
Name AC100
Codename paz00
Model AC100-117
Released 2011
Pre-released 2009
Type laptop
Hardware
Chipset Nvidia Tegra 2 (T20)
CPU 2x 1GHz ARM Cortex-A9 MPCore
PL310 L2 Cache
ARMv4T ARM7TDMI (AVP)
GPU ULP GeForce (Ultra-Low Power)
Display 1024 x 600 TN LCD Samsung LTN101NT05, 60Hz LVDS 262k 300:1 222.72 X 125.28(mm)
Storage 8 GB / 32 GB (for AC116)
Memory 512 MB DDR2 800MHz HY5PS1G831C
Architecture armv7
Write-Protect type no SBK burned
Software
Original software
The software and version the device was shipped with.
Android 2.1
Extended version
The most recent supported version from the manufacturer.
Android 2.2
FOSS bootloader yes
postmarketOS
Category testing
Pre-built images
Whether pre-built images are available from the postmarketOS Installation page.
Nvidia Tegra armv7
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
yes
pmOS kernel
The kernel version that runs on the device's port.
6.16
Unixbench score
Unixbench Whetstone/Dhrystone score. See Unixbench.
418.7
Generic port Nvidia Tegra armv7 (nvidia-tegra-armv7)
Features
Flashing
Whether it is possible to flash the device with pmbootstrap flasher.
Untested
USB Networking
After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system).
Works
Internal storage
eMMC, SD cards, UFS...
Works
SD card
Also includes other external storage cards.
Works
Battery
Whether charging and battery level reporting work.
Works
Screen
Whether the display works; ideally with sleep mode and brightness control.
Works
Keyboard
Whether the built-in physical keyboard works.
Works
Touchpad
Whether the built-in touchpad works.
Works
Multimedia
3D Acceleration
Partial
Audio
Audio playback, microphone, headset and buttons.
Works
Camera
Works
Connectivity
WiFi
Works
Bluetooth
Untested
GPS
Untested
Modem
Calls
Untested
SMS
Untested
Mobile data
Untested
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Untested
USB-A
Whether the full-sized USB-A port works.
Works
USB OTG
USB On-The-Go or USB-C Role switching.
Works
HDMI/DP
Video and audio output with HDMI or DisplayPort.
Works
U-Boot
Primary Bootloader
Whether it is possible to replace stock bootloader with U-Boot.
Works
Secondary Bootloader
Whether it is possible to chainload U-Boot from stock bootloader.
Works
Mainline
Whether latest upstream versions of U-Boot are not broken and it is possible to use them.
Works
Internal Storage
Whether it is possible to boot from internal storage (e.g. eMMC or UFS).
Works
SD card
Whether it is possible to boot from SD card.
Works
USB Host
Whether it is possible to boot from a USB storage or connect a keyboard.
Works
USB Peripheral
Whether it is possible to use device as a peripheral in U-Boot, e.g. for fastboot mode.
Works
Display
Works
Keyboard
Partial
Buttons
Whether it is possible to navigate in boot menu or grub with volume and power buttons.
Works

Device owners

Variants

There are several models available, mostly depending on the country they are sold. All have WiFi support, but differ in the amount of internal storage and addition wireless connections. The table below lists some of them:

Variants:
Model Part # Storage Bluetooth 3G Keyboard Country Notes
10D PDN01E-008013G3 16 GB Yes No ? Germany ?
10D PDN01E-00801EN5 16 GB Yes No qwerty nordic Sweden, Norway
10D PDN01E-00800SIT 16 GB Yes No qwerty Italy
10D PDN01E-008018PL 16 GB Yes No qwerty Poland
10E PDN01E-006018PL 32 GB Yes Yes qwerty Poland
10G PDN01E-00C00SIT 16 GB Yes Yes qwerty Italy, Sweden
10K PDN01E-001013G3 8 GB No No qwertz Germany
10N PDN01E-00200QHU 32 GB No No qwertz Hungary
10N PDN01E-002015CZ 32 GB No No qwerty/czech Czech Republic
10T PDN01E-005001AR 8 GB Yes Yes ? Netherlands, Middle East Africa ?
10T PDN01E-00500CDU 8 GB Yes Yes qwerty Netherlands
10U PDN01E-00500EEN 8 GB Yes Yes qwerty United Kingdom
10V PDN01E-003016GR 8 GB No Yes qwertz Germany
10W PDN01E-004015CZ 16 GB No Yes qwerty/czech Czech Republic
10Z PDN01E-00700EEN 8 GB Yes No qwerty United Kingdom ?
111 PDN01E-00600WS4 32 GB Yes Yes qwertz/swiss Swiss
113 PDN01E-00400QHU 16 GB No Yes qwertz Hungary ? should be
114 PDN01E-00900GFR 16 GB No No azerty France
116 PDN01E-00L00URU 32 GB Yes Yes qwerty/йцукен Russia
117 PDN01E-00K00URU 8 GB Yes No qwerty/йцукен Russia
118 PDN01E-00M00URU 8 GB Yes Yes qwerty/йцукен Russia
? PDN01A-00D01F 32 GB Yes No qwerty Australia ?
AZ/05M PDN01N-00H01C 16 GB Yes No qwerty/japanese Japan
? PDN01K-00801K 16 GB Yes No qwerty/korean Korea

? marks refers to entries which have not been confirmed. If you are owner of such a model, please edit the page, fix the potential errors, and remove the question mark.

The “Toshiba AC100” is known as “Toshiba dynabook AZ” in Japan.

Kernel status

Kernel is in Mainline for a long time. Built for Hard Float (armhf, or armv7l).

Kernels for 3.x, 5.x , 6.x are avaliable.

Stock kernel is 2.6.21 armel was shipped for Android 2.1 and 2.6.28 for Android 2.2.

PostmarketOS is using patched with grate and tegra modifications. It seems there are minimum differences with Mainline.

U-Boot support

U-Boot built from mainline (master branch) lack of keyboard support. Other features most fully supported, except otg usb ethernet.

NVEC embedded controller

There is patched version witch NVEC keyboard enablement which was ported from Linux Kernel by Muromec, Zombah, and others. NVEC I2C, NVEC keyboard as u-boot driver model. Then me ported this patch to U-Boot 2026.04.

Installation

Download any prebuild image and uncompress it. Plug in mini-USB cable.

direct flash into EMMC or SD card in UMS mode

  1. Once booted into U-Boot insert SD card, then enter ums 0 mmc 0 to expose to PC inner EMMC as USB mass storage or ums 0 mmc 1 to expose SD card.
  2. Then use any image writing tool on PC to raw write.

DFU mode upload way

//for 8 Gb EMMC, probable 7C0000000 for 32 Gb variant

  1. setenv dfu_alt_info mmc raw 0 0x1f0000000
  2. dfu 0 mmc 0
  3. use dfu-util on PC to manage upload raw data.

On Toshiba AC100 U-Boot side:

## <name> raw <offset> <size> : raw access
u-boot# setenv dfu_alt_info mmc raw 0 0x1f0000000
u-boot# dfu 0 mmc 0 list
DFU alt settings list:
dev: eMMC alt: 0 name: mmc layout: RAW_ADDR
u-boot# dfu 0 mmc 0
######## download progress ########

On PC side:

## Show connection info
C:\dfu-util_0.9_x86_64>dfu-util.exe -v -l
dfu-util 0.9-msvc
Found DFU: [0955:701a] ver=7ea7, devnum=40, cfg=1, intf=0, path="1-9", alt=0, name="mmc", serial="1700618943712345"

## Backup firmware
C:\dfu-util_0.9_x86_64>dfu-util.exe -v -U firmware1.bin
dfu-util 0.9-msvc
Opening DFU capable USB device...
ID 0955:701a
Run-time device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0110
Device returned transfer size 4096
Copying data from DFU device to PC
Upload  [======================== ]  99%    142737408 bytes

NVFASH upload and repartition inner EMMC way

When moving from stock Android we must erase all partition information of Tegraparts to make full range of emmc availble at once. Then we bay repart it as we want.

# recreate reduced partition table with BCT and bootloader
nvflash --bct empty.bct --setbct --configfile flash.cfg --create --bl bootloader.bin --odmdata 0x800c0075 --go -w
# overwrite it all with brand new BCT with u-boot appended
nvflash -r --rawdevicewrite 0 565 u-boot.bct --go --sync

Or try one liner with or without --create

nvflash --setbct --bct empty.bct --configfile flash.cfg --bl u-boot-dtb-tegra.bin  --go

Boot from U-Boot

  1. Boot into U-Boot
  2. Use sysboot command to load and run /extlinux/extlinux.conf
  3. May save this command to bootcmd to auto boot next time.
u-boot# setenv pm sysboot mmc 1 any 0x3000 /extlinux/extlinux.conf
u-boot# setenv bootcmd run pm
u-boot# saveenv
u-boot# sysboot mmc 1 any 0x3000 /extlinux/extlinux.conf

Access from OS to U-Boot variables

  1. Install package u-boot-tools apk add u-boot-tools
  2. Edit /etc/fw_env.config:
/dev/mmcblk0boot1               0xfe000         0x2000

This is 8Kb offset from end of partition.

  1. Run fw_printenv or fw_setenv
nvidia-tegra-armv7:~$ sudo fw_printenv
[sudo: authenticate] Password:
arch=arm
baudrate=115200
board=paz00
board_name=paz00
boot_targets=usb mmc1 mmc0 pxe dhcp
bootcmd=bootflow scan
bootdelay=2
cpu=armv7
fdt_addr_r=0x03000000
fdtcontroladdr=1eb24d00
fdtfile=tegra20-paz00.dtb
initrd_high=ffffffff
kernel_addr_r=0x1000000
loadaddr=0x1000000
platform=tegra20
pm=sysboot mmc 1 any 0x3000 /extlinux/extlinux.conf
pxefile_addr_r=0x10100000
ramdisk_addr_r=0x03100000
scriptaddr=0x10000000
serial#=17006189437fd157
soc=tegra20
stderr=serial,vidconsole
stdin=serial,tegra-nvec-kbc,usbkbd
stdout=serial,vidconsole
usb_ignorelist=0x1050:*,
vendor=compal
ver=U-Boot 2026.01-gfa1e9df266c2 (Jan 17 2026 - 15:11:24 +0800)
nvidia-tegra-armv7:~$

How to enter APX mode

Note Note: APX mode is a special low-level diagnostic and device-programming mode for NVIDIA Tegra–based devices. The firmware implementing APX mode is stored in the boot ROM and hence can never be changed.
  1. Plug mini-USB cable on right side slot and connect to PC.
  2. Find and install "NVIDIA USB Boot-recovery driver for Mobile devices" for APX mode device (USB\VID_0955&PID_7820) signed driver
  3. Press CtrlEscapePower and wait few seconds until power led is on.
  4. example from linux
[Thu Oct 11 06:31:57 2018] usb 2-2.4: new high-speed USB device number 13 using xhci_hcd
[Thu Oct 11 06:31:57 2018] usb 2-2.4: New USB device found, idVendor=0955, idProduct=7820, bcdDevice= 1.02
[Thu Oct 11 06:31:57 2018] usb 2-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[Thu Oct 11 06:31:57 2018] usb 2-2.4: Product: APX
[Thu Oct 11 06:31:57 2018] usb 2-2.4: Manufacturer: NVIDIA Corp.
  1. run nvflash, tegrarcm or putusb tools

Serial Console

  1. in - RX UART1
  2. out - TX UART1
  3. out - T20_WAKE#
  4. out - +3V
  5. out - +1.8V
  6. ?
  7. ?
  8. in - SYSTEM_RESET#
  9. in - EC_TX80_PDATA (from EC to T20, 115200)
  10. in - GND

T20_WAKE# is possible output from EC controller to GPIO Tegra SOC, notifies data on I2c is ready. EC_TX80_PDATA used for inner debugging of EC and read POST data on power on. Some debug messages may be read. TBD.

Compal LA-6352P PAZ00 AC100 board schematics

U-Boot 2026.07-rc3 with NVEC keyboard support

Note This U-Boot build includes NVEC keyboard support.

Binary 2026.07-rc3 from Main branch

Flashing the New U-Boot

Today I built U-Boot 2026.07-rc3 from the Main branch, featuring a comprehensive set of commands and options.

Prerequisites

  1. Download the original nvflash tool:

Android Tegra Froyo (2010-11-05)

  1. Download signed drivers for Windows 10/11:

NVFlash Recovery Toolset Install the drivers for NVIDIA USB Boot-recovery driver for Mobile devices (USB\VID_0955&PID_7820&REV_0102).

  1. Download binary U-Boot with reflash scripts:

U-Boot 2026.07-rc31 debrick3.zip

  1. Extract debrick3.zip to:
C:\Program Files (x86)\NVIDIA Corporation\tegra_froyo_20101105

Flashing Procedure

  1. Connect the mini-USB cable, then press Ctrl + ESC + Power.
  1. Run debrick1.cmd — this step restores the BCT in case your Toshiba won't boot at all (e.g., if you see the bct not found error).

Power off, then power on again with Ctrl + ESC + Power.

  1. Run debrick2.cmd — this wipes the entire Tegra partition table (needed only for legacy Android) and writes the new BCT + U-Boot bootloader.

Power off, then power on.

  1. When U-Boot appears, reset the environment variables to their defaults:
env default -a ; saveenv
  1. Expose the eMMC as a USB mass storage device:
ums 0 mmc 0

A new disk with partitions will appear in Windows. Write your distro image using any utility like Disk Imager, then reboot.

  1. In U-Boot, boot PostmarketOS via extlinux:
sysboot mmc 0 any 0x1000 /extlinux/extlinux.conf
  1. To enable autoboot, set the boot command and save:
setenv bootcmd sysboot mmc 0 any 0x1000 /extlinux/extlinux.conf
saveenv
Note If you're working with an external SD card, replace mmc 0 with mmc 1 in all commands above.

```

Accelerated video decoding

As said, mpv runs on grate driver flawlessly up to 480p (SD) with single framedrops. HD videos larger then 1080 runs with 10-15 fps. For optimal playback with mercy framedrop apply these settings into file .config/mpv/mpv.conf

vo-vaapi-scaling=fast
fullscreen=yes
vo=xv
cache-secs=2
framedrop=decoder+vo
profile=fast
hwdec=vdpau
user-agent="Gecko/"

Wayland/Weston compositing

Long story short successful run via Pixman LLVMPIPE:

Sway:

# WLR_RENDERER=pixman sway

Weston:

need apply for config file /home/user/.config/weston.ini

[core]
renderer=pixman

Weston run using pixman:

# weston --renderer=pixman --xwayland
[23:41:37.-1227491141] using /dev/dri/card0
[23:41:37.1680810087] DRM: supports atomic modesetting
[23:41:37.1886745376] DRM: supports GBM modifiers
[23:41:37.1886745376] DRM: does not support Atomic async page flip
[23:41:37.1818632293] DRM: supports picture aspect ratio
[23:41:37.-1095196008] Using Pixman renderer
[23:41:37.037] DRM: head 'HDMI-A-1' found, connector 34 is disconnected.
[23:41:37.000] DRM: head 'LVDS-1' found, connector 68 is connected, EDID make 'Seiko Epson Corporation', model '0x354E', serial ''
               Supported EOTF modes: SDR
               Supported colorimetry modes: default
[23:41:37.000] Registered plugin API 'weston_drm_output_api_v1' of size 20
[23:41:37.539439478] Registered plugin API 'weston_drm_virtual_output_api_v2' of size 24
[23:41:37.-1225991120] Color manager: no-op
                 protocol support: no
[23:41:37.001] Output 'LVDS-1' attempts EOTF mode SDR and colorimetry mode default.
[23:41:37.-1095195860] Output 'LVDS-1' using color profile: stock sRGB color profile
[23:41:37.000] DRM: output LVDS-1 uses shadow framebuffer.
[23:41:37.000] Output LVDS-1 (crtc 66) video modes:
               1024x600@60.0, preferred, current, 54.0 MHz
               1024x600@60.0, preferred, 54.0 MHz
[23:41:37.000] Output 'LVDS-1' enabled with head(s) LVDS-1
[23:41:37.-1227142672] Compositor capabilities:
               arbitrary surface rotation: yes
               screen capture uses y-flip: no
               cursor planes: yes
               arbitrary resolutions: no
               view mask clipping: yes
               explicit sync: no
               color operations: no
               presentation clock: CLOCK_MONOTONIC, id 1
               presentation clock resolution: 0.000000001 s
[23:41:37.000] Loading module '/usr/lib/weston/desktop-shell.so'
[23:41:37.000] Loading module '/usr/lib/libweston-14/xwayland.so'
[23:41:37.-1225381352] Registered plugin API 'weston_xwayland_v3' of size 16
[23:41:37.863395684] Registered plugin API 'weston_xwayland_surface_v2' of size 12
[23:41:37.000] xserver listening on display :0

You may install postmarket-demos to review weston capabilities. Still no single Mesa demo EGL/GLES2/GLX GEARS running, due to lack DRI3 support.

Wi-Fi controller firmware missing

It seems rt2870.bin not included, to able tun wireless controller manually put to /lib/firmware/rt2870.bin

[   20.612984] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 3070, rev 0201 detected
[   20.655335] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 0005 detected
[   20.659674] usbcore: registered new interface driver rt2800usb
[   36.055336] ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[   36.061203] ieee80211 phy0: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.36

Also you may install it later with firmware-nvidia-tegra-armv7 package.

Wi-Fi led as MMC disk activity led

  1. Create file /etc/local.d/01-rc.local.start
  2. Make it executable chmod +x /etc/local.d/01-rc.local.start
  3. Put this content (mmc1 for external SD , mmc0 for internal EMMC)
#/bin/sh
echo mmc1 | tee /sys/devices/soc0/gpio-leds/leds/wifi-led/trigger

In general this file acts like rc.local.

Overclocking

Able to overclock up to 1.20 GHz by modding dtb. Changes max voltage to 1.2V.

  1. dtc -I dtb /boot/dtbs/tegra20-paz00.dtb > overclock.dts
  2. Find sm1 node and modify value
                                sm1 {
                                        regulator-name = "+1.0vs_sm1,vdd_cpu";
                                        regulator-min-microvolt = <0xb71b0>;
-                                       regulator-max-microvolt = <0x10c8e0>;
+                                       regulator-max-microvolt = <0x124f80>;
                                        regulator-coupled-with = <0x30 0x2e>;
                                        regulator-coupled-max-spread = <0x86470 0x86470>;
                                        regulator-always-on;
  1. Rebuild dtb dtc -I dts -O dtb -o tegra20-paz00.dtb overclock.dts
  2. Put to boot sudo cp tegra20-paz00.dtb /boot/dtbs/tegra20-paz00.dtb
  3. Important: do cold boot, power off needed.
nvidia-tegra-armv7:~$ cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: cpufreq-dt
  CPUs which run at the same hardware frequency: 0 1
  CPUs which need to have their frequency coordinated by software: 0 1
  maximum transition latency: 400 us.
  hardware limits: 216 MHz - 1.20 GHz
  available frequency steps: 216 MHz, 312 MHz, 456 MHz, 608 MHz, 760 MHz, 816 MHz, 912 MHz, 1000 MHz, 1.10 GHz, 1.20 GHz
  available cpufreq governors: ondemand, userspace, performance, schedutil
  current policy: frequency should be within 216 MHz and 1.20 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1.20 GHz.
analyzing CPU 1:
  driver: cpufreq-dt
  CPUs which run at the same hardware frequency: 0 1
  CPUs which need to have their frequency coordinated by software: 0 1
  maximum transition latency: 400 us.
  hardware limits: 216 MHz - 1.20 GHz
  available frequency steps: 216 MHz, 312 MHz, 456 MHz, 608 MHz, 760 MHz, 816 MHz, 912 MHz, 1000 MHz, 1.10 GHz, 1.20 GHz
  available cpufreq governors: ondemand, userspace, performance, schedutil
  current policy: frequency should be within 216 MHz and 1.20 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1.20 GHz.

EC KB926D (Toshiba AC100 / Paz00)

Datasheet

Tegra2 Embedded Controller Interface Specification
KB926D Keyboard Controller Data Sheet

Technical data

Technical data about KB926D EC and NVEC and POST messages moved to U-Boot4PAZ00 There you can figure more abound current status developement and reverse engeenering of PAZ00.