Alternative uses for Dreamcatcher 3 (Reddit link for discussion)


#1

Obviously this site is focused on the service Othernet provides, however, there may be reasons you want to use the hardware for other things, since you basically own a glorified “Pi Zero Plus” (not a real thing but the DC3 is comparable).

For example, mine is set up to be a USB utility gadget, that can emulate USB Mass Storage and USB Ethernet on my whim via the touchscreen.

Since there are many things you can do, and not really a place to discuss them here, I made a subreddit a couple of days ago. The name is terrible but it is what it is, and its already set up :slight_smile:

https://www.reddit.com/r/dreamcatcher3hacks/


#2

Good to have a thread…

Can you give an overview of how your image of armbian boots up?

1 does it enable the lcd ili9341 on boot up
2 does wifi load
3 what is the username/pw for this image.
4 what respositories should be used for updates/upgrades

I don’t think we will ever see it mainline, so this good to know about… since I have three of the version 3’s


#3

I did not make an image yet, I have been modifying the stock image. To build a proper armbian we would need to reverse engineer alot more about how Othernet set up the armbian build, or have Syed provide the .conf he wrote for his armbian build system.

I use a custom kernel (you can install the debs) and a custom DTB (code is in the kernel but still need to compile it and overwrite it manually in /boot/dtb/sun5i-a13-dreamcatcher.dtb

To compile it, do what what @sv_sigint said here, but swap “dts” and “dtb” in the entire command/options/filenames.

Once you have my kernel and dtb, you can remove /etc/modprobe.d/lcm.conf and remove “fbtft_device” and the “ads7846_device” modules from /etc/modules, as the gpio configs are now in the DT (needed for initial tinydrm setup).

The DT also adds a proper backlight entry, basically trying to take steps to have the device tree treat the onboard LCD as its primary display (as a tablet would, for example).

Once TinyDRM is fully working it would be possible to embed the driver into the kernel (rather than a module) and have access to early-terminal including initramfs on the LCD.

To answer your questions tho:

  1. yes, as explained above
  2. Wifi loads even on stock image, Syed already set this up, just run “nmtui” out of the box once you get past user setup
  3. n/a (see above, if I do release an image it would work the same as othernet’s official though)
  4. none yet, download kernel from my git (.deb binaries under releases), and follow steps above.

For testing purposes, or the sake of having a backup, here is my “disaster control” method to restore:

  1. make tarball of /boot and /lib/modules/4.14* before starting
  2. if for some reason things dont work, mount SD in a linux VM/machine, remove boot/ and lib/modules/ (entire folder) from the SD card’s root
  3. extract the tarball you made in step #1 back to the SD card’s root
  4. You will now back back at stock kernel and DTB

If you want to help test TinyDRM:

  1. download my kernel and dts linked above, install
  2. string search “mi0283qt”
  3. uncomment (remove /* and */ around “tinydrm mode”)
  4. comment out “fbtft mode”
  5. change /etc/modules from “fbtft” and/or “fb_ili9341” to “mi0283qt” and “tinydrm”

Yes, “mi0283qt” is correct, not “ili9341” even tho both are provided. Something tinydrm did. Read about it here under “Caveat”.

One more note: Installing my .deb will not update the kernel that is selected to boot by default. Poke around /boot and update the symlinks for uInitrd and zImage.