/tech/ - Technology

Where proprietary software comes to die

Posting mode: Reply

Drawing x size canvas

Remember to follow the rules

Max file size: 350.00 MB

Max files: 5

Max message length: 4096

Manage Board | Moderate Thread

Return | Catalog | Bottom

Expand All Images

DIY, Modular, Open source Laptop Anonymous 01/03/2017 (Tue) 09:21:19 [Preview] No. 7768
Laptop form factor open source hardware design, built from off the shelf components for DIY, modular, open source computing.

CPU, RAM, graphics: 1x single board computer
FSB, ports: 2x powered USB hub
Battery: 1x USB powerbank, >5000 mAh, >2A
Input: 1x USB keyboard
Input: 1x USB trackpad
Storage: 1x USB flash drive
Network: 1x USB WiFi dongle
Audio: 1x USB sound card/headset
Display: 1x USB powered HDMI monitor
Case: 3D printed or DIY glued wooden case

-Completely modular, customizable, upgradeable and repairable
-User serviceable by all users
-Universal, modular battery and charger. Can swap battery when depleted
-Low cost
-Completely open source

Suggestions for the display? It is the least commonly available component. USB DisplayLink would be more convenient, but it is not open source.

Anonymous 01/03/2017 (Tue) 11:12:07 [Preview] No. 7769 del
this could be my next project, thanks anon

Anonymous 01/03/2017 (Tue) 23:24:11 [Preview] No. 7774 del
is that even possable

Anonymous 01/04/2017 (Wed) 20:19:42 [Preview] No. 7782 del
not sure how efficient such pile of craps would be.

I'd rather use cheap Chromebook after nuking blobs.

Anonymous 01/05/2017 (Thu) 15:44:09 [Preview] No. 7787 del
lately i see a lot of talk about chromebooks, what's up with that? are they that compatible with linux? here in EU i never hear anyone talk about them

Anonymous 01/06/2017 (Fri) 14:27:11 [Preview] No. 7789 del
They ship with Linux. ChromeOS is a GNU/Linux distro (Android is Linux, but no GNU).

All Chromebooks support running a proper distro with some chroot magic (crouton), and many of them support replacing ChromeOS completely.

They have a hardware switch to enable a "don't blame us if you break it" mode, which is a really nice way to give security and freedom.

They all come with Coreboot, and one of them even supports Libreboot so you don't need BIOS blobs.

ChromeOS is shit, but the hardware is nice.

Anonymous 01/07/2017 (Sat) 05:45:23 [Preview] No. 7791 del

if only ARM releases Mali gpu stack as free software, there won't be reasons for people to buy x86 based crappy consumer grade laptops.

the kernel side code for mali gpu (not so important. just helps talking to device, DMA and stuffs) is GPLed but you won't find it in mainline source tree as user space tools to compile shaders and stuffs are proprietary software.

So right now my Asus c201 doesn't have hw accelerated graphics, only slow frame buffer device which is ok as long as I stick to just programming stuffs and ssh with light web browsing.

I am also trying to port openbsd to it on spare time. netbsd and freebsd can boot in most rockchip development boards but getting chrome book's embedded controller right and reimplementing linux frame buffer for real chromebook is sort of challenging.

Anonymous 01/07/2017 (Sat) 09:50:33 [Preview] No. 7793 del
(90.54 KB 1056x816 diydiagram.png)
Completed component layout diagram

Also use a USB powerbank with passthrough. Male to female USB, RCA and ethernet cables can be used to move the ports from the adapter to the exterior of the case. Try not to use the Raspberry Pi, since it needs proprietary blobs to boot. Total cost should be less than 150 USD.

Yes, it has been done. http://www.instructables.com/id/Pi-Berry-Laptop-The-Classic-DIY-laptop/

Chromebooks suffer from critical flaws.
* They need to be BIOS flashed just to boot other linux distros, and then they need a hardware mod to change the default boot option.
* Hardware compatibility is poor with things like the laptop keyboard and touchpad not working by default on certain kernels.
* This is not to mention the proprietary firmware of the Intel processors used.

If you thought Chromebooks were a cheap or easy way to obtain a Linux laptop, you are in for a surprise.

Anonymous 01/07/2017 (Sat) 10:29:18 [Preview] No. 7795 del

>BIOS flashed
ugh, no.

recent Chromebooks use coreboot booting signed u-boot payload whether it's x86 based one or arm based one. by default it only accepts google signed u-boot images but you can disable this feature anytime in chromeos's terminal.

>hw compatibility

not really. Debian will work out of box as one of their dev invested some time on getting his chromebook working correctly.

and when it comes to kernel version choice, you should just stick to mainline linux(of Linus)or use google maintained ones on their tree. normal users shouldn't really care about the exact numbering of their kernel as google will backport almost everything from mainline and Linus accepted most necessary patches from google to his tree.

The only issue is Mali. Mainline linux only have Mali frame buffer support (enough for pretty printing initial console)not full DMA for OpenGL support.

I use gentoo and I did not have that much trouble getting Chromebook keyboard and pad working correctly.

> muh firmware is blob
please don't be that guy. if it's running inside of processor not your kernel it's not fair to call them blobs.

if you are one of those RMS tinfoil follower buy ARM based one. ARM cortex doesn't need any firmware to be loaded.

Anonymous 01/07/2017 (Sat) 21:35:32 [Preview] No. 7796 del
I challenge you

compile Firefox while watching Chinese cartoon on SoC's video decoder while torrenting things over wireless dongle

and you'll learn to read USB standard b4 wasting money

Anonymous 01/10/2017 (Tue) 09:17:59 [Preview] No. 7814 del
* Add USB SATA adapter to connect SATA hard drives
* Add USB disc drive to read and write optical discs
* For VGA or DVI output, add HDMI-VGA or HDMI-DVI converter
* Can add arbitrarily many USB flash drives in RAID 0 to increase read and write speed
* Could possibly chain USB powerbanks with passthrough in series to combine capacity


Single Board Computers currently match Pentium 4 performance at 2-3% of the TDP, for example the Banana Pi M2 ($30) has a quad core ARMv7 with 1 GB DDR3 RAM. It can easily do all of that while also serving HTTP and running zdoom.

SBC: Banana Pi M2 ($30)
FSB: USB hub, 4 ports, powered ($5)
USB ports: USB hub ($5)
Battery: USB powerbank, 10000 mAh 2A, passthrough ($5)
Input: USB mini keyboard ($10), USB trackpad ($10)
Storage: 16 GB MicroSD ($10)
Network: Builtin WiFi ($0)
Audio: USB sound card ($5)
Display: Elecrow HDMI Display Monitor 5 Inch ($38) (Low end)
Display: GAEMS M155 Performance Gaming Monitor ($169.99) (High end)
Case: Small briefcase ($10)

Total cost: $123 (Low end), $254.99 (High end)

For even higher performance, the Banana Pi M3 ($55) is octo core ARMv7 with 2 GB LPDDR3.

USB 2.0 High Speed throughput is 480 Mbps, which is more than enough for 802.11g at 52 Mbps, even combined with SATA HDD at 240 Mbps.


It does not matter whether the hardware is good or bad if you cannot use it the way you want.

If installing FreeBSD or GalliumOS requires flashing the BIOS, and flashing the BIOS requires a hardware modification, and hardware modification voids the warranty, then the hardware is shit.


Anonymous 01/10/2017 (Tue) 10:57:54 [Preview] No. 7815 del
>flashing the bios

>>7814 explicitly mentioned 'google's stock coreboot can boot any uboot image' and you keep dangling to your straw man version of chromebook that voids warranty? checked

>>7796 I was ranting about usb latency & linux kernel IPI contention and you talk about theoretical throughput calculated on raw input/output from two end points? checked

whatever you say op.

it's your money and time after all.

Anonymous 01/11/2017 (Wed) 08:47:55 [Preview] No. 7818 del
>you keep dangling to your straw man version of chromebook that voids warranty? checked



Install Linux onto your Chromebook. Dual-boot alongside ChromeOS for maximum flexibility.


status CPU family notes
✅ Intel Haswell Firmware update available
✅ Intel Broadwell Firmware update recommended
✅ Intel Skylake Firmware update recommended
✅ Intel Bay Trail Firmware update required
✅ Intel Braswell Firmware update required
❓ Intel Sandy/Ivy Bridge Requires SeaBIOS with Legacy Boot capability
❓ Intel Pineview Requires SeaBIOS with Legacy Boot capability
❌ ARM ARM support is very unlikely

A firmware update is required on Bay Trail and Braswell to install any distro by chrx.

>I was ranting about usb latency & linux kernel IPI contention and you talk about theoretical throughput calculated on raw input/output from two end points?

That is interesting. How did you determine theoretical USB performance without considering theoretical throughput?

Do you believe that running a distro from a USB flash drive is impossible? If also using USB peripherals?

Anonymous 01/11/2017 (Wed) 11:34:17 [Preview] No. 7819 del
>muh intel

I am typing this very post in shitty Chinese board based chromebook so what are you trying to prove?

that you never worked on arm devices?



>muh usb runs fasta than copper substrate

usb sends command and control data through same line.

You can't have 480 Mbps purely for data. at maximum it would be something between 400 Mbps to 300 Mbps (for usb 2.0) for SINGLE connection at BEST(i.e. it's still theoretical value).

usb 2.0 defines half duplex connection unlike usb 3.0, meaning data can only flow in one direction at a time. directly implying you should not glue your components with webs of usb cables.

Even if your os only talks to single device, you will not reach your dream goal of 480 Mbps. NAND is bottleneck for flash drives and controller logic will dictate the speed of access to HDD.

if you work in my office and make raid 1 system out of external hard drives talking over usb, I'll shoot you on sight.

tails or other shitty linux stick works because it runs on proper boards where components talk over bridges.

Anonymous 01/11/2017 (Wed) 11:50:42 [Preview] No. 7820 del
(30.03 KB 300x250 brighter .png)


>There are several reasons why your device will never be able to use all of this bandwidth. First of all, the USB bus is shared among several users. Even if you are plugged into different ports on the motherboard, you are probably sharing the same host controller as all of the other devices on the bus, so your device is sharing the USB bus bandwidth with all of the other devices.

>Second, USB is a packetized protocol where longer blocks of data are divided into 512-byte packets. Each packet contains a header identifying the packet contents, and a CRC at the end of the packet for data integrity. Each packet also requires an ACK from the other side of the link. Start of Frame (SOF) packets are sent every 125 uSec (microframe) to maintain timing on the bus. The net effect of this is that the theoretical maximum bandwidth of USB is 13 bulk packets per microframe, or 53,248,000 bytes/second. Even this limit is not achievable with current host controllers, which can receive 10 bulk packets/microframe or send 8 bulk packets/microframe.

>500mA – This is the absolute maximum power allowed under the USB spec

don't listen to haters op!

bright future awaits you!

Anonymous 01/12/2017 (Thu) 16:08:24 [Preview] No. 7825 del
There are also x86 SBCs out there. Many of them also have LVDS connector for display, which opens up some options with used panels from laptop PCs (although I'm not sure everything is compatible).

Just look into embedded pico-ITX

I want to build a UMPC with Pentium N 3710 (Braswell) based pico-ITX board. Although this would be relatively expensive it has a much more capable GPU than any of the ARM stuff out there. x86 and real OpenGL/DirectX acceleration should make a lot of neat things simple to achieve.

Also for rapid prototyping of enclosure, forget wood unless you're really good at working with that. Look into Sintra PVC foam board. I've worked with it in the past as enclosures for power supplies and other projects. That was with 6mm thick sheets. Really easy to work with, does not take a lot of tools. You basically would want a T-Square or Triangle and some sharp knife or razor to score with then break it. Anywhere that you need to attach a component through a screw hole you would just drill a very small pilot hole and use a small wood screw. The PVC foam board can be glued together with a wide variety of adhesives but thin cyanoacrylate works better than most. That's just regular super glue.

I'm probably going with 3mm this time considering the UMPC will be small I think that's sufficient, although it will be built in layers that are glued together, thicker than 3mm in many spots.

If done properly this could have excellent results and be achievable without spending a lot of time learning 3D modeling or CAD. Or having to spend all that time designing a 3D model and send it off for printing not quite 100% sure if it's going to all fit together just right.

I'm still looking for a good option for the hinges, friction hinges can be surprisingly expensive.

Anonymous 01/12/2017 (Thu) 16:13:40 [Preview] No. 7826 del
A few companies that manufacture and sell x86 pico-ITX SBCs (and have prices and ordering available on their site):

(Israeli company, but if you're buying Intel that's irrelevant)

(DFI is a Taiwanese company that has always made very high quality motherboards. They used to be famous for excellent gaming motherboards during the socket 939 era, but these days focus on industrial and embedded stuff)

Anonymous 01/17/2017 (Tue) 08:58:36 [Preview] No. 7860 del
Specifications for >>7814
CPU: 1 Ghz A31S ARM Cortex-A7 Quad-Core
GPU: PowerVR SGX544MP2
Display: M155 GAEMS 15.5" LED TN LCD, 1366 x 768
Network: 10/100/1000 Ethernet, WiFi 802.11b/g/n
Battery length: 5 hours (10000 mAh @ 10 W)
Ports: 7x USB 2.0, 2x 3.5mm Audio output, 1x 3.5mm Audio input, 1x HDMI
Weight: <2 kg
Dimensions: 38cm x 24cm x 3cm (folded)
Total cost: $254.99

>I am typing this very post in shitty Chinese board based chromebook so what are you trying to prove?

If you used the linked chipset, then with nonfree wireless and video drivers?

>tails or other shitty linux stick works because it runs on proper boards where components talk over bridges.

This is trivial to benchmark.

Add to a USB hub 1) USB flash drive 2) USB WiFi adapter 3) USB keyboard 4) USB mouse. Attach USB hub to any computer. Boot computer from USB flash drive. Transfer file using USB WiFi adapter onto USB flash drive.

Now repeat test with USB components directly attached to computer.

>500mA – This is the absolute maximum power allowed under the USB spec

Use a USB Y cable or a USB hub that can provide more than 500 mA per port.



LVDS is an excellent option, if the LVDS driver were separate from the SBC, so that the CPU, RAM and GPU could be changed independently from the display.

Due to its inherent inefficiency, the only real reason to use X86 is compatibility with proprietary software and drivers, as FOSS can be easily recompiled for any architecture.

Consider that more computing power means more energy required, which also means more heat. The current design does not need thermal management because it is low power.

One possible, but dubious benefit of using X86 may be to allow the use of proprietary USB 3.0 DisplayLink monitors.

Excellent suggestion about using PVC foam board. The electronic components of the design are chosen for being commonly available and simple enough for everyone to assemble. So the case should be as easy to build too.

Any recommendations of brand for cyanoacrylate?

Hinges should not be needed in a UMPC design, unless it is a clamshell. If it is, then a friction hinge is not needed, since there is only one open position.

Anonymous 02/06/2017 (Mon) 05:09:29 [Preview] No. 7941 del
The following posts will describe each component in detail, starting with the USB powerbank.

There are several good reasons to use a USB powerbank to power the DIY laptop. One is that it integrates both the charge controller and power supply into the battery. Another is that it is cheap and easy to replace. The last is that it contains enough energy to power a laptop for several hours.

10000 mAh is sufficient for 2.5 hours of operation at 20 W, which is the maximum power drawn by a 10 W SBC, 10 W display and peripherals. 20000 mAh is sufficient for 5 hours, 40000 mAh for 10 hours and so on. If the average power use is closer to 10 W, the operation time is doubled.

Most powerbanks can provide the 5V 2A required by single board computers. A few more can provide another 5V 1A output, or even 5V 2A. This second output can be used to power a 5V 2A display.

For reference: Limefuel BLAST L150X 15000mAh 4x5V/2.1A (5V/4.2A max) w/passthrough ($35.99)

If one powerbank does not provide enough power, then multiple powerbanks can be used. One powerbank can be connected to the SBC, another to the display and so on. They can be charged simultaneously from a single USB cable by using a USB female to 2x micro USB male splitter, or USB Y cable.

Also choose a USB powerbank with passthrough charging. This feature allows recharging the powerbank while drawing power from it. This feature is needed to continue using the laptop while it is charging.

Charging USB powerbanks is very easy. USB AC adapters and USB cables are cheap and easy to find. Any USB port can be used for charging if needed. USB powerbanks are also very easy to charge off the grid by solar panel, handcrank generator or thermoelectric generator. Any source of 5V will charge a powerbank, even if only 100 mA.

The most important feature of a USB powerbank is that it can be charged separately from the laptop. This allows swapping discharged powerbanks for charged ones, which instantly recharges the DIY laptop. The discharged powerbank can then be recharged by any USB charger.

With enough USB chargers and USB powerbanks, it is impossible to ever run out of charge. Passthrough is also not necessary on the swapped powerbanks.

The best example of this configuration would be a solar USB charger connected to a USB powerbank. When needed, swap it with the DIY laptop's USB powerbank. When the new powerbank is depleted, the previous one will be fully recharged. If the DIY laptop also has an always connected secondary powerbank with passthrough, then there is no need to even shutdown when swapping discharged powerbanks.

The only flaws of using a USB powerbank as battery is that battery level must be checked manually by reading powerbank and the charge time of a powerbank is proportional to its capacity.

It is possible to make DIY USB powerbanks, or to use other battery types such as NiMH, lead acid or alkaline.

It is also possible to use alternate forms of energy storage, such as a supercapacitor, fuel cell, flywheel, compressed air or even radiothermoelectric generator. Each one has advantages over batteries, but are more expensive.

Top | Return | Catalog | Post a reply