- 92
- 168 119
adventuresin9
United States
Приєднався 29 лис 2021
Exploring the Plan9 and 9Front operating systems, on a variety of hardware and network configurations. Featuring mini pc's, development boards, wifi routers, IoT devices, and many others. Also, the occasional rant on general computer stuff.
Kasa Smart Plugs; taking control with 9Front.
Writing my own software to take control of some TP-Link Kasa Smart Plugs on 9Front. As they say, in "IoT" the "S" stand for "Security".
Part of me likes insure devices, as they make it easy for me to repurpose them. And thanks to Andrew Halterman for the paper on Storming the Kasa.
Paper on Kasa security;
dr.lib.iastate.edu/server/api/core/bitstreams/30f5f6ac-993c-4356-8fce-19273e5d0731/content
Another slide show on the topic;
troopers.de/downloads/troopers17/TR17_fgont_-iot_tp_link_hacking.pdf
The programs are quick and dirty little things.
The main points in this case are dial() and
the JSON library.
man.9front.org/2/dial
man.9front.org/2/json
Part of me likes insure devices, as they make it easy for me to repurpose them. And thanks to Andrew Halterman for the paper on Storming the Kasa.
Paper on Kasa security;
dr.lib.iastate.edu/server/api/core/bitstreams/30f5f6ac-993c-4356-8fce-19273e5d0731/content
Another slide show on the topic;
troopers.de/downloads/troopers17/TR17_fgont_-iot_tp_link_hacking.pdf
The programs are quick and dirty little things.
The main points in this case are dial() and
the JSON library.
man.9front.org/2/dial
man.9front.org/2/json
Переглядів: 458
Відео
What do I use Plan 9 for?
Переглядів 13 тис.7 годин тому
I use it for what it was designed for. Writing code and hacking. Writing kernels for Arm and Mips boards, so I can run 9Front on them. Then writing drivers for various devices I can attach to those Arm and Mips boards to get new and interesting functionality out of them. Controlling various IoT devices, and then exploring ways to make it all work seamlessly together over the network. Videos I m...
What do I use the Plan 9 Operating System for? Here is one.
Переглядів 2,1 тис.9 годин тому
This is one of the things I use 9Front, a fork of Plan 9 from Bell Labs. It is hacking on routers and IoT devices, and using the well developed Plan9 networking system to interact with them without all the security issues found in these sort of things. Matt Brown's video on hacking a cheap router. ua-cam.com/video/clESYc9BDvc/v-deo.html 9Front, a fork of Plan9 9front.org/ About Plan 9 from Bell...
Plan 9 Theory and Practice; Configuring Listeners 5.8
Переглядів 371День тому
Using the /cfg directory to set up a custom set of listeners for cpu servers on 9Front. man.9front.org/8/listen man.9front.org/8/tlssrv man.9front.org/4/exportfs
Plan 9 Theory and Practice; Connecting with srv and listen 6.4
Переглядів 386День тому
Covering connecting to other Plan9 and 9Front systems using srv, and sharing connections with listen1. man.9front.org/2/dial man.9front.org/4/exportfs man.9front.org/3/srv man.9front.org/4/srv man.9front.org/8/tlssrv man.9front.org/8/listen
Plan 9 Theory and Practice; Exportfs and Friends 6.2
Переглядів 38114 днів тому
Covering exportfs and it's use in sharing namespace across a network. Examples using rcpu, rimport, and rexport on 9Front. On Legacy Plan9, these commands are cpu, import, and export. man.9front.org/4/exportfs man.9front.org/1/rcpu
Plan 9 Theory and Practice; Kernel Devices and Namespace 6.0
Переглядів 47114 днів тому
Covering kernel devices on a 9Front system, how they work, and how mount and bind assembles them into a namespace. man.9front.org/1/ns man.9front.org/3/intro man.9front.org/3/srv
Plan 9 Theory and Practice; Intro to 9P Requests 7.2
Переглядів 67721 день тому
A fake filesystem demonstrating handling 9P requests at a user program level for 9Front. Programs outputting data as files in the Plan9 style. github.com/adventuresin9/fakefs-v2 man.9front.org/2/9p man.9front.org/2/9pfid man.9front.org/2/9pfile man.9front.org/2/fcall
Plan 9 Theory and Practice; WiFi Router as CPU Server 4.4
Переглядів 976Місяць тому
A demonstration of running 9Front on a Hi-Link MT7688 based wifi router board, exposing the Ethernet switch device as files, and exporting those files over the network to remotely configure the router. Ethernet switch device is experimental and not part of the current 9Front release. router board used; www.hlktech.net/index.php?id=432
Plan 9 Theory and Practice; Drawterm 3.6
Переглядів 679Місяць тому
Drawterm is a program that can be ran on Windows, Mac, Haiku, and various Unix clones. It allows for interacting with with a Plan9/9Front system and for moving files between to and from the host system. Drawterm updated for 9Front; drawterm.9front.org/ Drawterm for 9Front instructions from SDF; wiki.sdf.org/doku.php?id=vps_-_9front#front_drawterm man.9front.org/1/os man.9front.org/3/cmd
Plan 9 Theory and Practice; Network Database 5.6
Переглядів 596Місяць тому
Explaining the Network Database, or NDB, and how it works on a 9Front grid. man.9front.org/6/ndb man.9front.org/8/ndb man.9front.org/8/ipconfig man.9front.org/8/dhcpd man.9front.org/2/ndb man.9front.org/2/dial
Plan 9 Theory and Practice: termrc, cpurc, and namespace 5.4
Переглядів 527Місяць тому
Going over the configuration scripts for Terminals in /rc/bin/termrc, and CPU Servers in /rc/bin/cpurc. Also covering the initial default namespace recipe, and how to add system specific namespace configuration. man.9front.org/8/init man.9front.org/8/cpurc man.9front.org/4/namespace man.9front.org/6/namespace man.9front.org/8/timesync man.9front.org/8/gpsfs
Plan9 Theory and Practice; Kernel and Plan9.ini 5.2
Переглядів 712Місяць тому
Compiling custom kernels, and using bind to apply modified files, and plan9.ini configurations. man.9front.org/1/bind man.9front.org/8/plan9.ini man.9front.org/3/env man.9front.org/8/9boot man.9front.org/8/boot man.9front.org/8/init
Plan 9 Theory and Practice: Configuration Overview 5.0
Переглядів 717Місяць тому
A run through of all the steps that go into configuring a 9Front system, from boot to rio. This is just an overview of the files and functions involved. I will be making later videos show how to reconfigure the system at various steps.
Plan 9 Theory and Practice; Customizing Rio 3.4
Переглядів 739Місяць тому
Customizing rio in 9Front. rio, wloc, and -i start script; man.9front.org/1/rio fontsel; man.9front.org/1/fontsel phil9's vdir; shithub.us/phil9/vdir/HEAD/info.html rio theme patch; ftrv.se/14 Plan 9 Desktop Guide; pspodcasting.net/dan/blog/2019/plan9_desktop.html My video on 9Front desktop apps; ua-cam.com/video/RW_zfVDdupM/v-deo.html
Plan 9 Theory and Practice; Intro to Programming 7.0
Переглядів 2 тис.Місяць тому
Plan 9 Theory and Practice; Intro to Programming 7.0
Beelink EQR6 as a 9Front CPU Server, mostly...
Переглядів 743Місяць тому
Beelink EQR6 as a 9Front CPU Server, mostly...
Plan 9 Theory and Practice; CPU Server Alternatives 4.2
Переглядів 925Місяць тому
Plan 9 Theory and Practice; CPU Server Alternatives 4.2
Plan 9 Theory and Practice; Cross Compiling 2.8
Переглядів 554Місяць тому
Plan 9 Theory and Practice; Cross Compiling 2.8
Plan9 Theory and Practice; System Update 2.6
Переглядів 1,4 тис.Місяць тому
Plan9 Theory and Practice; System Update 2.6
Plan 9 Theory and Practice: CPU Server 4.0
Переглядів 2,2 тис.Місяць тому
Plan 9 Theory and Practice: CPU Server 4.0
Plan 9 Theory and Practice; Authorization 2.4
Переглядів 687Місяць тому
Plan 9 Theory and Practice; Authorization 2.4
Plan 9 Theory and Practice; Graphical Interface 3.2
Переглядів 1,2 тис.Місяць тому
Plan 9 Theory and Practice; Graphical Interface 3.2
Plan 9 Theory and Practice; Terminal 3.0
Переглядів 1,4 тис.Місяць тому
Plan 9 Theory and Practice; Terminal 3.0
Plan 9 Theory and Practice; Network 2.2
Переглядів 1,2 тис.Місяць тому
Plan 9 Theory and Practice; Network 2.2
Plan 9 Theory and Practice; File and Auth Server 2.0
Переглядів 2,2 тис.Місяць тому
Plan 9 Theory and Practice; File and Auth Server 2.0
Plan 9 Theory and Practice; Namespaces 1.4
Переглядів 1,2 тис.Місяць тому
Plan 9 Theory and Practice; Namespaces 1.4
Plan 9 Theory and Practice; Everything is a File 1.2
Переглядів 1,3 тис.Місяць тому
Plan 9 Theory and Practice; Everything is a File 1.2
Plan 9 Theory and Practice, History 1.0
Переглядів 1,8 тис.Місяць тому
Plan 9 Theory and Practice, History 1.0
my dad who complain about is network access cannot manage more then X devices (home automation) will probably be interested in this !
Cool stuff. Linux has definitely gotten more complicated over the last 30 years. Don't even get me started on the abomination that is systemd.
i'm not quite understanding how plan9 is connecting to the kasa plug? you said you got the mac address but then i lost understanding
I have a video series in the "Home Grid" playlist that goes into setup. This video cover how the Network Database (ndb) works. ua-cam.com/video/BBv-XhNbUe8/v-deo.html And I try to put links to the man pages in the description for other things I may have used in the video. For this one, it was dial which is the plan9 function for making a network connection, and json for parsing json.
you inspired me to get a raspberry pi and try out plan9. is it possible to boot plan9 from an nvme ssd? i bought a hat for it.
I haven't tried that. I still have the old 3B's.
hey i have one of those, i'm gonna do this
Great vid. I checked out the 9front website enthusiastically but they quickly turned me off with their WOKE BS on their FAQ page .. I’ll pass and stick with the 80’s crowds in the Commodore and Risk OS scenes.
idiot filtered 😎
Thanks! Just discovered your channel the other day and I'm really enjoying the Plan9 stuff. I really like the simplicity of the gui. Your run through is very helpful, thanks!
That was pretty cool. I've always wanted to use Acme, but it does so much that I can barely use it for the simple things.
Just like Unix has the "vi vs emacs", the Plan9 world has "sam vs acme". Maybe you are just a sam person?
@@adventuresin9 Windows required for work. I use a DOSBox-X wrapper around a VBDOS editor app that I wrote by taking the example from vbdos and following it step by step. Mine has color themes though. Downside is I have to use a modern editor like notepad if I want to print or paste the text elsewhere. Oh well, I have my dream editor.
It would be interesting if the 9 kernel could be ported to the device itself, but that would be a lot of work, maybe less so for the plugs than the bulbs. Also weak/no encryption is required by law in the US if the product is going to be sold outside of the country.
Most of these plugs are welded shut so if the flash was unsuccessful it will be a brick.
The newer ones don't have enough CPU to run a full OS. There are people working on 9P interfaces for microcontrollers. Styx-on-a-brick is one example. A newer one NinePea.
@@adventuresin9 I don't mean run a complete plan9 system. If the linux kernel can be stripped down to run on a similar microcontroller, the 9 kernel probably would only provide a 9p interface. The video about NinePea, was fantastic. I saw it months ago. It was mentioned that someone was trying to get inferno to run on 256KB of ram by keeping read-only data in flash.
I am loving the content of your channel. Thank you for being so comprehensive and introduction more people to plan 9
Lol i just bought a dozen of these
Well, I will have a way to control them locally soon, and some tools to scrub them of personal data and keep them from phoning home.
Thanks for the interesting explanation of how you use Plan9 but sadly for someone competent enough to write their own i2c drivers you make the common mistake of conflating Linux distributions with the Linux kernel. "Linux" is just the kernel, it's used in so many eays/places today that continuing to conflate "traditional" distros with "Linux" makes absolutely no sense at all. Android didn't "strip down" anything, they simply used the Linux kernel and built on top if it just as intended. They wrote their own libc for example, but that has nothing to do with the kernel, just as different distros use different libcs.
is that a new pill sold OTC to prevent pregnancy
Appreciate the thoroughness and the time to go through the JSON doc and C code. Does the C code happen to be in a repository somewhere? :)
I might put these simple tools up. My main project is to do a filesystem interface, and that will be put up on my github, and I've have a link to it when I get that video finished.
I have tried p9 10 years ago - didnt get along with all that plumbing and clicking but only thanks to this video and italian hack pronounciation i realized what acme really means :) ack-me! hack me!
4:13 Could just have ran the "Look dial" that's already there
Please tell, can you run 9Front on RV32IMAFC machine without MMU with 512K SRAM ? I'm playing with my own soft-core (soft-SoC), it has FastEthernet and some other low speed periphs. Now looking for an OS for this hardware.
Plan9 and 9Front wont run on systems with no MMU. There was another project call "Inferno" which took the Plan9 ideas and was designed to run on embedded systems. However, development stopped on it mostly, and I do not think they have a risc-v kernel for it. There are other projects to implement simple 9P on MCU, search for "NinePea".
Yes, I know about Inferno, been trying it somewhere in 1999 on PC. Wikipedia says it was last released nine years ago and there's no RISC-V port. Will take a look on NinePea. Thanks. But, how much RAM 9Front needs to run ? I'm working on adding MMU. :)
I have run 9front on systems with 64MB of ram, but without graphics. A frame buffer will need some space if it runs it's own display.
Great work, thank you for adding this. Will you be planning on looking into making a video on the 'acid' debugger?
I barely understand the acid debugger, and the documentation is sparse. It is truly a wizards tool. One of things I use it for the most has been spun out into a shell script that comes standard in 9front now. /rc/bin/lstk will look for the last Broken process and print out the stack for it. So when a program straight dies, you can run lstk and quickly get an idea of where exactly it crashed.
Hey man, just wanted to comment about the vid you removed. I think you should absolutely flesh out your argument and repost it. I really enjoyed spectating the back and forth on why/why not Linux is fit for use in current year. I know there were flame wars but the intellectual argument being made from both sides was enthralling to watch, and I was introduced to some OSes I'd never even heard of (reimplementing OS/2 on L4 is awesome even tho I have no use for it). I prefer Arch (btw) on my systems but I totally understand the other side of the argument and don't really believe there's one "right" answer, at the end of the day no OS will be one size fits all, and you do you. I just hope you didn't feel shamed into pulling it down, it's a convo worth having imo.
Hell, add another 20-30 minutes comparing and contrasting concrete examples of shit you can do with 9Front that you couldn't with Linux. I feel like there was definitely some substance missing from your argument but it sounds like with a little work you can come up with something both intellectually honest and educational for those coming in who use Linux but not 9Front.
I might go back down that direction at some point. But I enjoy building up more than tearing down. While that video did have mostly positive reviews, I don't want the distraction of dealing with flame wars and corrections while I'm already in the middle of putting together 3 other videos that I think are much higher quality and more informative.
Where is a video named "Why I don't use Linux for my projects anymore"? I wanted to watch it!
I might put it up again, or redo it. But between the holiday distractions, and working on other videos, I don't want to be managing flame war material at the moment.
@@adventuresin9 'Holy war’ or something?) I understand... and I see that it was uploaded 10 days ago (in the web archive), but it only popped up in my 'related' recently. I had planned to watch it later, but upon checking, I noticed it had been deleted. That caught my attention and led me to your channel. I even got intrigued by the topic of an alternative branch of OS development. Though, I haven’t delved deeply into the subject yet. Honestly... I don’t take such videos too seriously-more like something funny or just fun to explore. But in your case, it’s a bit different because I thought you were a Linux user, and it turns out it’s a completely different OS I’d never even heard of. And the concept got me interested. So, I’ll be looking out if you decide to re-upload. ;)
@@adventuresin9 I too was looking for that video when the algorithm suggested it. I only knew of Plan9 from an article on The Register by Liam Proven but have found your channel fascinating. I definitely get that in this age you don't want to babysit the comments but if you do it, I can see that Linux would benefit from your knowledge and critique even if they're not ready to hear it.
Just checked out that article you mentioned. A very fair take on Plan9 and 9Front. The bit at the end about running little VM's is one I've heard from other people too. Given how large and complicated modern web browsers are, and that web browsers are now effectively an OS, it would make sense to "port" one over as a thing in a VM.
Thanks for the info mate.
wizard school is now in session
Straightforward - thanks sir!
I always thought it was cool how Plan9 could "borrow" devices from other physical hardware over a network.
god, seeing this just slapped 2009 right across my face, I had a similar homelab at that era, and was screwing around with plan9
The algorithm works again! Just installed 9front on a vm. Fun stuff! Thanks! Now I need to figure out how to find things like 'games/*' as it's so different than my u*ix experience. The mahjongg game is too fun! :) Subscribed! Going to binge on your videos as I want to learn how to compile. Merry Christmas! -don
When I hear ‘Plan 9’, my mental response is ‘From outer space’. Sorry.
I'm in the same boat. It's a fun B-film.
@ B film ? You are a generous person. Well, it is the Christmas season.
That's what the name is meant to reference
incredible video. not uncommon to see on youtube people trying to be different just for the sake of it but you clearly outlined your usecases without any fluff. might try 9front on a vm later on :) also was dumbfounded on how small your code is, it really shows how bloated modern stacks are.
Dude, you're a wizard.
if you mean wizard as in someone who researches arcane mystical things and applies them to modern problems, then yes
Hm, i think you can put to use NuttX too, it's like an open source POSIX-compliant RTOS
I honestly have no idea what you're doing but I love it
I often wonder what I'm doing myself.
it was a Bell Laps operating system based on unix concepts, Never heard of it until this video.
Wow. This is cool. I need to learn to write some code. The problem is i feel more like a sysadmin than i am a programmer. I noticed that i have no patience for programming. But for some strange reason i am fascinated by the haskell programming language.
What prototype is the background at 0:13 from? :)
Watching this on a 9020 lol Discovered your channel this morning, all hail the algorithm, I found something to binge on during the holidays
That "#2 Dad" coffee mug made me giggle
Don't yet mastered Unix and it seems is already obsolete. I also feel we will have something radically different from all previous OS's if A.I. keeps evolving...
is cirno there as a touhou reference? you know since plan **9**
It was picked as the 9Front mascot before my time, so I don't know why.
I see that's cool, everything all goes back to touhou
Did your fixes for spim for port/sysproc.c (WAIT I guess) and string handling go into a repo somewhere? I've been updating mt7688 for "DO NOT INSTALL" and it appears(?) the latest 9front has the same ordering issues you talked about in your IWP9 presentation. I thought I'd ask before reinventing that wheel & didn't see them on github. Like you I wasn't able to get the Onions to tftpboot, but my e2500v4 wireless access point tftpboots just fine.
The fixes should be in there. I'll pull down the latest updates tomorrow and see if I have a similar issue.
One issue that may come up is that the kernel in 9front doesn't have fpu emulation, and that can cause issues when awk is used. I have a patch on github that can help with that github.com/adventuresin9/mt7688-fpu-patch
Gopher was the pinnacle :)
I honestly think the web was a mistake. Hyperlinked text is handy, but at what cost?
8:23 Bob Metcalfe once famously described Windows as “a buggy set of device drivers”: Linux is a free set of buggy device drivers.
Precisely I studied all of these earlier and also protested against saving anything on web or clouds so one has to think and think what should be the way out, there is after knowing all of this
Its getting so tough out there for loonix nerds to be quirky and special that they're now starting to use obsolete boomerware
To go along with the "boomer" aspect, there is a bit of "pulling up the ladder behind you" going on. What started as a light weight and flexible system for experimenting later became an overly complex and aimed and promoting vendor lock-in and forced obsolescence.
@adventuresin9 I'm not even that experienced and I have already discovered why there is an appeal in something like FreeBSD where every "system level" (I know that's a noob term) dependency is lock-stepped from the get-go. Though, I haven't tried a BSD or Plan9 yet. I have realized I should invest some time in learning more about these in case they could promise better dependency management. A lot of Linux fans couldn't even comprehend horrors like a franken-ubuntu (v18 kernel, v20 filesystem, v16 bootloader) , and they would defecate themselves at the thought of their livelihood depending on delivering bugfixes to such an abomination. Linux can be just as wretched as Windows if abused. The reality is there are good and bad systems and you can make an abomination or Elysian field in any platform.
Does the Plan 9 OS have SIMD optimizations? Would it even benefit most of the OS?
I have heard the people who work on the compilers talk about adding in stuff for using SIMD. I haven't kept up with how much they have added or what the use case may be. The OS itself doesn't really need it, but there are people who work with audio and video stuff that probably use it.
Good to know that someone had particle use case of Plan 9, I thought it still experiences project, but I really like it minimalistic principle as someone who don't like bloatware, I'm still using ArchLinux on my laptop, but I'm thinking using other OS's on high-end laptops I had, as a guy his first computer only had 128MB of RAM I'm frustrated that some Gnu/Linux DE consumes by itself 1.5GB of RAM that's insane, Linux for desktop weren't meant to bloated this way, it's ruining user experience for no real visual improvement.
I used Linux on similar systems in the past, and they ran fine. Now, I open a basic text editor, like xed, and it takes 20MB just to start.
I appreciate all your videos. Thank you. BTW do you run any risc-v?
I bought a small risc-v board, a "Mango Pi" which is single core and the size of a Raspberry Pi zero. It is on the list of things to port 9Front to, and some work has already been done on compilers and libraries. The risc-v ecosystem is a rapidly evolving space right now, so some Plan 9 developers are taking a wait and see approach, to see what becomes standardized.
Here is a video about some of the progress and troubles so far ua-cam.com/video/EOg6UzSss2A/v-deo.html
Very cool idea. I've wanted to check out plan9 for a while, and have vague dreams about setting up my own IoT at home without the I . . . This might be just the thing
"longer rant video about Linux" - always welcome :) I never cease to be amazed how people take that mad complexity of modern Linux distros inner workings for granted and praise it's simplicity...
not sure if it will fit the theme of this channel though
I first used used Linux back in the late 1990's. The system and the people working on it has changed a lot since then.
@@adventuresin9 I guess this more related to M$ and other mega corps have seat board on Linux foundation, I agree with you Linux still useful for running server, it Desktop use case ruined long time ago.
@@adventuresin9 I started getting my impression of Linux and FOSS a decade after that. It took some time to realize that there were no longer those people nor those ideas that I read about on old forum threads and watched in "Revolution OS" movie...
@@مقاطعمترجمة-ش8ثtbf linux was never "great" for desktop in the first place... Nowadays we atleast have some standards and infrastructure to build upon, instead of everyone inventing their own set of wheels, that are perpetually broken by some dude half across the globe from you due to a minor change, granted they are waaaay overengineered in more than one place(like this whole dbus thing, basically most of the freedesktop protocols, wayland, systemd, etc. even though most of them have neat ideas in mind the actual standarts and way of doing things is just beyond awfull), but they are there, they are open and they free. Which is a lot more than i can say about anything that is or was a desktop. I would love a new revitalised modern GNU, i would like the rewamp of the kernel, i would like better init system, i would like the new rewamp of mesa, i would love a better wayland, but alas no one including me thinks that any of this actually worth the time and effort it would take to do. Well more like some brave souls do, but i am certainly not one of them at this moment.
I've used Plan9/9front (since 2e) for various R&D demos and projects that have to remain nameless, but they usually exploited dynamic networking, computing, reconfigurability, and heterogeneity that was just far and away easier to do with Plan9 concepts than lunix boxes. And it was a lot more fun than trying to develop on yet-another-bloated-RedHat-instance.
Cool, found your channel by casually looking for Plan9.
Me too. I am on my first steps on my plan9 voyage .. very interesting. B.t.w. Chat gpt recommend me to take a look at plan9 when i was asking what is the most strange thing to install on an empty machine standing here .
One does not casually look for Plan9. 😂
@fmu7679 I google Hurd, Plan9 and some other topics periodically, just to know what's going on. Also I want to get started, but I'm not sure what should I pick them for
Will be using your videos while taking an embedded course using plan9