Project

General

Profile

HP Touchpad

Added by Robert Sink over 10 years ago

Granted this is an aging tablet now, but I have been quite impressed sitting back and watching development for the orphaned device. The freedreno project was started on this device; camera drivers were developed. Yeah, its a risky target up against the Neo900 in comparison, but worth taking a gander at.


Replies (15)

RE: HP Touchpad - Added by Linus Drumbler over 10 years ago

This tablet cannot be supported by Replicant. Installation requires the non-free HP Novacom drivers on the host computer, and the platform is Qualcomm, which is bad for freedom (it requires many proprietary blobs, and the modem is poorly isolated).

RE: HP Touchpad - Added by Paul Kocialkowski over 10 years ago

Are you sure there is a modem? If not, then there is no modem isolation problem, but Qualcomm remains a poor choice because not so much will work. However, considering that graphics could work with freedreno, it may not be that bad, one would have to check about audio and camera, at least.

Also if the tools to flash it are only non-free (ie, there is no way at all to flash it using only free tools), then it's a dead-end.

RE: HP Touchpad - Added by Linus Drumbler over 10 years ago

Actually, there appears to be an "Atheros Wi-Fi Chipset" (http://en.wikipedia.org/wiki/HP_TouchPad#Connectivity). Nevertheless, the flashing tools seem an insurmountable obstacle.

RE: HP Touchpad - Added by Robert Sink over 10 years ago

Actually, Novacom installer(s) went open source. Ref: http://www.openwebosproject.org/opensource/packages.html

Rob

RE: HP Touchpad - Added by Robert Sink over 10 years ago

Correct there is no modem but only WiFi connectivity. Camera "driver" though, upon closer inspection... seems to be a wrapper, patch, and Hal adjustment. :/ Thus, it still could be wrapping proprietary driver I suppose. ref: http://rootzwiki.com/topic/34482-unofficial-cm9-with-working-camera/ . Freedreno driver thusly only known open source solution. So the challenges with Qualcomm chipsets mentioned could be real work. I could run some dumps from my touchpad if anyone is interested. Unfortunately, I don't have dissassembly/decompiling software. Too expensive for my meager means. Have a lot of stuff to get at otherwise write protected emmcs (which I utilize on other Qualcomm devices oft) [ie cdma ware, qpst, riff box]. So, I can dump it different ways if need be ;)

RE: HP Touchpad - Added by Linus Drumbler over 10 years ago

I downloaded the code to check, and that license is not a free software license:

  • "You may use the Software for the purpose replacing [sic] open source software components on a WebOS-based device with open source software components that are modified versions of the replaced components." — Implying we can't use it any other way?
  • "You may not distribute the Software or make the Software available over a network." That's one of the fundamental freedoms of free software!
  • "You may not reverse engineer, decompile, or disassemble the Software, except and only to the extent that such activity is expressly permitted by applicable law." We shouldn't have to if you give us the source code, right?

But the clincher is that, if I'm not mistaken, the stuff listed under "Novacomm" isn't source code. Those are binaries.

RE: HP Touchpad - Added by Linus Drumbler over 10 years ago

I found something in the webOS source code that could be the Novacom driver source code, but isn't.

RE: HP Touchpad - Added by Linus Drumbler over 10 years ago

Okay, just through a bit of searching I found this: http://code.google.com/p/universal-novacom-installer/ under the MIT license.

https://github.com/CyanogenMod/android_device_hp_tenderloin/blob/gingerbread/extract-files.sh shows the list of proprietary files for this device, which is actually surprisingly few in number (I counted fewer than 50). Now, I know number's not important, so let's look at variety: I see camera, Wi-Fi, graphics, sensors, USB drivers (major obstacle) and a bunch of miscellaneous files.

RE: HP Touchpad - Added by Robert Sink over 10 years ago

Agreed USB driver is major. As much or more so than the suspected novacom was. If I can't talk to my device (which I do 90% USB, 10% terminal (on device)), I'd be sunk.

RE: HP Touchpad - Added by Linus Drumbler over 10 years ago

I know I've said a lot already, but this really needs to be said.

CyanogenMod's installation process replaces the bootloader with moboot, a free bootloader specifically for the device. (https://code.google.com/p/moboot/). Since this device doesn't have a modem, and we're removing all the proprietary upper-level components...

We could have a mobile device that actually contains 100% free software.

And another thing: CyanogenMod's installation process uses the non-free ACME installer. However, there is a free alternative, SystemInstaller. https://github.com/b-man/SystemInstaller

RE: HP Touchpad - Added by Robert Sink over 10 years ago

I do remember this thing had wonky/no USB power feed ref:http://www.xodustech.com/projects/hp-touchpad-usb-host .. Should have known/realized that was the result of proprietary driver(s).

RE: HP Touchpad - Added by Robert Sink over 10 years ago

Tell you guys what.. albeit I know I lack reverse engineering tool(s), I can start documenting this device (as an unofficial) w/ my lil team's page (https://teamblueridge.org), and see how far I can bring it along. With some insights & comfortability, I might could grow into (officially) maintaining an old device perhaps.. have the ole HTC g1/Dream (sitting in my old device drawer) and assist w/ this one (as much as one can w/o reverse engineering). Best I can offer is my time (for free) ;)

Rob

RE: HP Touchpad - Added by Paul Kocialkowski over 10 years ago

I'm a bit worried about the firmwares. Some seem to be for audio and it could mean that audio won't work out the box without these. That's a major drawback.
Also CM seems to use prebuilt modules. Are some of these proprietary? That does happen from time to time!
For the USB-related binaries, I suppose these are only extra, not core USB drivers (which are in the kernel anyway). But if the kernel is a proprietary module, then we're stuck.

RE: HP Touchpad - Added by Robert Sink over 10 years ago

at the least... (posting just so others can see as well):

# Shared Object Libraries
PRODUCT_COPY_FILES += \\
vendor/hp/__DEVICE__/proprietary/lib/libcamera.so:system/lib/libcamera.so \\
vendor/hp/__DEVICE__/proprietary/lib/libdiag.so:system/lib/libdiag.so \\
vendor/hp/__DEVICE__/proprietary/lib/libgsl.so:system/lib/libgsl.so \\
vendor/hp/__DEVICE__/proprietary/lib/libmmipl.so:system/lib/libmmipl.so \\
vendor/hp/__DEVICE__/proprietary/lib/libmmjpeg.so:system/lib/libmmjpeg.so \\
vendor/hp/__DEVICE__/proprietary/lib/libOpenVG.so:system/lib/libOpenVG.so \\
vendor/hp/__DEVICE__/proprietary/lib/libqdp.so:system/lib/libqdp.so \\
vendor/hp/__DEVICE__/proprietary/lib/libqmi.so:system/lib/libqmi.so \\
vendor/hp/__DEVICE__/proprietary/lib/libqmiservices.so:system/lib/libqmiservices.so \\
vendor/hp/__DEVICE__/proprietary/lib/libC2D2.so:system/lib/libC2D2.so \\
vendor/hp/__DEVICE__/proprietary/lib/libwebkitaccel.so:system/lib/libwebkitaccel.so

[Hopefully we can recompile the EGL proprietary pull-overs from freedreno]
then...

@#BIN
PRODUCT_COPY_FILES += \\
vendor/hp/__DEVICE__/proprietary/bin/battery_charging:system/bin/battery_charging \\
vendor/hp/__DEVICE__/proprietary/bin/dcvs:system/bin/dcvs \\
vendor/hp/__DEVICE__/proprietary/bin/dcvsd:system/bin/dcvsd \\
vendor/hp/__DEVICE__/proprietary/bin/mpdecision:system/bin/mpdecision \\
vendor/hp/__DEVICE__/proprietary/bin/mpld:system/bin/mpld \\
vendor/hp/__DEVICE__/proprietary/bin/sensord:system/bin/sensord \\
vendor/hp/__DEVICE__/proprietary/bin/thermald:system/bin/thermald \\
vendor/hp/__DEVICE__/proprietary/bin/usbhub:system/bin/usbhub \\
vendor/hp/__DEVICE__/proprietary/bin/usbhub_init:system/bin/usbhub_init

#Firmware
PRODUCT_COPY_FILES += \\
vendor/hp/__DEVICE__/proprietary/etc/firmware/a6.txt:/system/etc/firmware/a6.txt \\
vendor/hp/__DEVICE__/proprietary/etc/firmware/a6_1.txt:/system/etc/firmware/a6_1.txt \\
vendor/hp/__DEVICE__/proprietary/etc/firmware/q6.b00:/system/etc/firmware/q6.b00 \\
vendor/hp/__DEVICE__/proprietary/etc/firmware/q6.b01:/system/etc/firmware/q6.b01 \\
vendor/hp/__DEVICE__/proprietary/etc/firmware/q6.b02:/system/etc/firmware/q6.b02 \\
vendor/hp/__DEVICE__/proprietary/etc/firmware/q6.b03:/system/etc/firmware/q6.b03 \\
vendor/hp/__DEVICE__/proprietary/etc/firmware/q6.b04:/system/etc/firmware/q6.b04 \\
vendor/hp/__DEVICE__/proprietary/etc/firmware/q6.b05:/system/etc/firmware/q6.b05 \\
vendor/hp/__DEVICE__/proprietary/etc/firmware/q6.mdt:/system/etc/firmware/q6.mdt \\
vendor/hp/__DEVICE__/proprietary/etc/firmware/leia_pfp_470.fw:/system/etc/firmware/leia_pfp_470.fw \\
vendor/hp/__DEVICE__/proprietary/etc/firmware/leia_pm4_470.fw:/system/etc/firmware/leia_pm4_470.fw \\
vendor/hp/__DEVICE__/proprietary/etc/firmware/vidc_1080p.fw:/system/etc/firmware/vidc_1080p.fw \\
vendor/hp/__DEVICE__/proprietary/etc/firmware/yamato_pfp.fw:/system/etc/firmware/yamato_pfp.fw \\
vendor/hp/__DEVICE__/proprietary/etc/firmware/yamato_pm4.fw:/system/etc/firmware/yamato_pm4.fw \\
vendor/hp/__DEVICE__/proprietary/etc/firmware/wm8958_enh_eq.wfw:/system/etc/firmware/wm8958_enh_eq.wfw \\
vendor/hp/__DEVICE__/proprietary/etc/firmware/wm8958_mbc.wfw:/system/etc/firmware/wm8958_mbc.wfw \\
vendor/hp/__DEVICE__/proprietary/etc/firmware/wm8958_mbc_vss.wfw:/system/etc/firmware/wm8958_mbc_vss.wfw
EOF@

Those are (all) definitely copied by cyanogenmod to proprietary folder(s)

Rob

RE: HP Touchpad - Added by Robert Sink about 10 years ago

found this link/info interesting.. [[http://codebrocken.blogspot.com/2012/08/android-install-usb-drivers-for-hp.html?m=1]] .. so apparently communication in [for as long as charge last]; charging out [unless one reverse engineers hp's funky driver.

Rob

    (1-15/15)