Samsung Galaxy Tab 4 8.0 Wi-Fi (samsung-milletwifi)

From postmarketOS
Samsung Galaxy Tab 4 8.0 Wi-Fi
Galaxy Tab 4 8.0 running postmarketOS showing the xfce4 desktop
Galaxy Tab 4 8.0 running postmarketOS showing the xfce4 desktop
Manufacturer Samsung
Name Galaxy Tab 4 8.0 Wi-Fi
Codename samsung-milletwifi
Model SM-T330
Released 2014
Category testing
Pre-built images no
Original software Android
Original version 4.4.2
Extended version 5.1.1
postmarketOS kernel 6.5.7
Hardware
Chipset Qualcomm Snapdragon 400 (APQ8026)
CPU 4x 1.2 GHz Cortex-A7
GPU Adreno 305
Display 800x1280 px, 8.0" in (20 cm) diagonal, WXGA TFT display
Storage 16/32 GB flash memory, microSDXC slot (up to 64 GB)
Memory 1.5 GB
Architecture ARMv7
Type tablet
Unixbench Whet/Dhry score 604
Features
USB Networking
Works
Flashing
Works
Touchscreen
Partial
Display
Partial
WiFi
Partial
FDE
Works
Mainline
Works
Battery
Broken
3D Acceleration
Broken
Audio
Broken
Bluetooth
Works
Camera
Broken
GPS
Partial
Internal storage
Works
USB OTG
Broken
Sensors
Accelerometer
Works
Hall Effect
Works
Power Sensor
Broken
Misc
Ir TX
Broken
Ir RX
Broken
Memory Card
Works
FOSS bootloader
Broken


Member of the Samsung Galaxy Tab 4 series of tablets.

Maintainer(s)

Users owning this device

  • NekoCWD (Notes: postmarketOS lab rat)
  • Susurrus (Notes: 2x with flip cover)


How to enter flash mode

Download mode: When turned off hold Power+Volume Down+Home

Recovery mode: When turned off hold Power+Volume Up+Home

lk2nd: Power on and once something is shown on the display hold Volume Down

Installation

Prerequisites:

Install Lk2nd/lk1st via Heimdall. Heimdall hasn't been tested beyond this as lk2nd is recommended for all devices.

Follow the pmbootstrap article until you have done the install action (note that --fde stands for full-disk-encryption - this can also be left out):

pmbootstrap install --fde

The SYSTEM partition is only 2GB, and to simplify switching back to Android, install to the larger (12GB or 30GB depending on your device) USERDATA partition. Boot into lk2nd and then:

pmbootstrap flasher flash_rootfs --partition userdata

Near-mainline Status

For the status of all components in the near-mainline codebase being used, see below:

Component Part number Works? Notes
Chipset Qualcomm Snapdragon 400 Y
Graphics Adreno 305 N Untested, but should work with the Adreno 330 firmware. Pending proper panel support.
eMMC (16GB) THGBMBG7D2KBAIL Y
Charging IC SMB358SET-1939Y Y
PMIC PM8226 N See this issue
Micro-USB IC SM5502 P USB-OTG not supported yet.
Audio WCD9306 N Requires codec support
Touchscreen MELFAS MMS-252M P Pending https://github.com/msm8226-mainline/linux/pull/10
Buttons gpio-keys Y Volume up/down, power and home button.
WiFi, Bluetooth WCN3660A P Bluetooth works, WiFi works with hardware scanning disabled.
Display Panel S6D7AA0 LSL080AL02 P Simple Framebuffer driver partially works (pmOS splash screen doesn't show). Full panel support is being tracked in linux#13.
Backlight LP8556TMX-E09-S7003056 P Changing brightness doesn't work. Pending panel work.
Front Camera Siliconfile SR130PC20 N
Rear Camera Siliconfile SR352 N
IR ABOV MC96FR116CU N 8-bit microcontroller with custom firmware to act as an IR LED transceiver.
GPS WGR7640 P Driver support implemented, but ModemManager doesn't support WiFi-only devices & gpsd is awaiting gpsd!139.
Hall effect/flip cover sensor S-5712CCDL1-I4T1U Y Connected via GPIO.
Accelerometer STMicroelectronics K2HHTR Y

Known issues

Issues known to happen in the near-mainline kernel:

  • dmesg shows warning: l20: voltage operation not allowed (see linux#6)
  • dmesg shows warning: /cpus/cpu@0 missing clock-frequency property (also for cpu1, 2, & 3). - Normal operation, not a concern.
  • dmesg shows errors like: i2c_qup f9926000.i2c: tx channel not available - TX does work with i2c here, just not via DMA, which this SoC doesn't support. This error can be safely ignored.

Mainline Status

Initial patches submitted to mainline 2023-11-05 (link). WIP being tracked in https://github.com/Susurrus/linux/tree/initial_upstream.

Hardware Revisions

7 versions are known to exist from the spec sheet. These may correlate with the different versions that are listed with the DTS files included in downstream (annotated as Rev-00 through Rev-05). These revisions are specified by a 4-bit value set by external pull-up/pull-down resistors on pins 12, 13, 32, & 63. To read these values run sudo gpioget 0 12 13 32 63.

The output maps to the revision name as follows:

Value Revision
0100 SM-T330_REV0.0
0101 SM-T330_REV0.1
0110
SM-T330_REV0.2
0111 SM-T330_REV0.3
1000 SM-T330_REV0.4
1001 SM-T330_REV0.5
1011 SM-T330_REV0.5C

Debugging

This deivce use Silicon Mitus SM5502 MUIC, which support carkit serial mode.

MUIC serial connected to uart3 (blsp1_uart3 in mainline kernel dt)

Notice Use 619k resistor

For more information about debugging see serial debugging page

See also

Photos

Photo of stock Samsung recovery menu for Galaxy Tab 4 8.0 Wi-Fi