pUPnGO - 6Mb ISO - Basic Building Block Puplet

A home for all kinds of Puppy related projects
Message
Author
goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#316 Post by goingnuts »

Getting closer to wireless in pupngo although not quite there yet. Managed to compile iwconfig, iwlist and wpa_supplicant static. Created a script that succesfully connect my zd1211 usb wireless interface to WPA and WPA_PSK wireless in org. P412.
In pupngo drivers load but was unable to do a ifconfig wlan0 up. Response was the cryptic "SIOCSIFFLAGS: No such device"
Solution was to manually install zd1211 firmware archive from /lib/modules/all-firmware.
Anyone know which part of Puppy is responsible for installing the firmware-packets? Is it udevd, kernel or something else? :?:

Next problem now is that iwlist do not report found network types correctly in pupngo - and that breaks my connect-script - as the reported types are:
"(unknow Wireless Token 0x8C05)"
Strange the iwlist works in org. P412 but not in pupngo...
Last edited by goingnuts on Wed 23 Feb 2011, 15:54, edited 1 time in total.

User avatar
Keef
Posts: 987
Joined: Thu 20 Dec 2007, 22:12
Location: Staffordshire

#317 Post by Keef »

I've managed to get wifi working ok, using ndiswrapper too. Bit crude really, just copied over everything I thought I needed over from standard 412 and made an sfs out of it all. Used Tiny-Perl for the ndiswrapper setup, but this could be taken out and installed as a pet, then removed afterwards.
Start it up with a script based on the info in the "How to configure wifi from the commandline" thread. WPA has tended to be a bit hit and miss with the 4 series I've found, sometimes it works for a while, then decides not too. Had to sort out a few dependencies, but most I think, were in the glibc sfs. Can't remember exactly (not on Puppy at the mo') but might have had to use the iwconfig from org 412 - will check later.

nooby
Posts: 10369
Joined: Sun 29 Jun 2008, 19:05
Location: SwedenEurope

#318 Post by nooby »

Don't get me wrong now. I am a bit nitpicking but I would actually prefer that you told in the first post of the thread which TCL you have there. Now it says this very general thing:
080211: Special build with TC as GUI.
But is that the old 2.6 something I don't remember which version it was but it was not one of the later version when I tried to use it some week ago.

Have you updated the TCL now to the latest then or what?
I use Google Search on Puppy Forum
not an ideal solution though

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#319 Post by technosaurus »

goingnuts wrote:Getting closer to wireless in pupngo although not quite there yet. Managed to compile iwconfig, iwlist and wpa_supplicant static. Created a script that succesfully connect my zd1211 usb wireless interface to WPA and WPA_PSK wireless in org. P412.
In pupngo drivers load but was unable to do a ifconfig wlan0 up. Response was the cryptic "SIOCSIFFLAGS: No such file or directory"
Solution was to manually install zd1211 firmware archive from /lib/modules/all-firmware.
Anyone know which part of Puppy is responsible for installing the firmware-packets? Is it udevd, kernel or something else? :?:

Next problem now is that iwlist do not report found network types correctly in pupngo - and that breaks my connect-script - as the reported types are "unknow". Strange the iwlist works in org. P412 but not in pupngo...
if you still have your wireless tools package, there is a multicall binary build (like busybox) that will save some space (however this will also make it an easy port to busybox next time I have an hour or so and a decent internet connection) The wireless tools source is pretty easy to follow IIRC, so it shouldn't be too hard to track down the source of "unknown"... maybe even make some shell parsability improvements to the output.

modutils (modprobe, insmod ...) does the firmware loading from info built in to the kernel module itself (I think there is a way to override using a config file in /etc/???) - I don't have the sources available but you can check your busybox source code to see where modutils* is looking for the firmware and config file (there have been many improvements to the various modutils as of late, so it may be a bug that was fixed - I seem to recall seeing something along those lines fly across the mail list)... of course that assumes you have the firmware, you can get a lot of "blobs" from woof or from other distros if necessary
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#320 Post by goingnuts »

Keef: Thanks - good to know its possible. Maybe I am making it more difficult for myself to insist on having pupngo being all static...But I will try your path testing the original iwconfig and iwlist.

nooby: Description updated and the "no support" and "no upgrades" stated as well. :wink:

technosaurus: Thanks - your ref. to arch-linux cli wireless got me further in my CLI-wireless script...
As for BB modifications I am a little reluctant to go that path right now - might be to heavy stuff :) I did try to use org. modprobe but did no difference...
The output from static iwlist scan is:
"(unknow Wireless Token 0x8C05)"

comming 2 times, in the place where it should state:

"IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : PSK
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
Preauthentication Supported"

So its the translation part of the code in iwlist.c that does not get handled well - or the info iwlist gets from the device...
Well - I´ll keep trying as it must be possible.

nooby
Posts: 10369
Joined: Sun 29 Jun 2008, 19:05
Location: SwedenEurope

#321 Post by nooby »

080211: Special build with TC as GUI. TC version in squashfile is tinycore_2.11.6.

NOTE: This is NOT a new puplet - no updates, no help or troubleshooting - its just a demo of pUPnGOs possibilities.
Thanks that was what I needed to feel totally satisfied. :)

I knew it was a 6 six somewhere in there but it was version 2.11.6 and not TCL 2.6 while I want TCL 3.4.6 something modern.

I accept it is there as a proof of concept only. Thanks for all the help you gave me through PM. Much appreciated. I actually once did get it going and out on the internet too but then I got too adventure and messed it all up.

But it is there on the HD when my courage return.
I use Google Search on Puppy Forum
not an ideal solution though

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#322 Post by technosaurus »

Update: firmware is also controlled by /etc/modules/firmware.dep*
Some things may need /etc/modules.conf (conexant modems)
There are various additional conf files in /etc/modprobe.d/* and /etc/rc.d/* that get loaded by /etc/rc.d/rc.sysinit (Barry's version has a lot of work arounds for the small busybox modutils that could be removed if using the full busybox modutils)

Wireless links that I have in my notes:
http://www.hpl.hp.com/personal/Jean_Tou ... Tools.html
Your error comes from print_scanning_token in iwlist.c if you want to debug ... printf the vars at the end of the function (line608 in v29)
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

taca0
Posts: 123
Joined: Thu 07 May 2009, 00:57

#323 Post by taca0 »

goingnuts:

I like a lot the last version that works on my AMD K6 , the net card works and its fast for only 32mb ram and 256mb of SD HD.

I like links but I can post on forums , I can login but not post and also dont logout.

What others programs works with this new version??

I am trying to find other light browser but with graphics??

I still dont know if audio its active or if its automatic detected and configure??


Thanks!

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#324 Post by technosaurus »

taca0 wrote:I am trying to find other light browser but with graphics??
This was discussed earlier in the thread: dillo-gtk1, hv3 and opera-9.27-static-qt3 (the only 1 in the list that will support the flash plugin) were the main contenders IIRC
(lamarelle.org has a browser only seamonkey-1.1.19-gtk1 that works with flash7 ... I developed a hack that lets v7 work on many flash10 sites)

to test audio you can use cat on a .wav or .au file
cat *.wav >/dev/dsp
or
cat *.au >/dev/audio
(how is that for a lightweight media player)
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

taca0
Posts: 123
Joined: Thu 07 May 2009, 00:57

#325 Post by taca0 »

technosaurus:

The problem its that I can not install on pUPnGO_V412_060211 any other browser (only the links text browser) . Gives installing errors or for example the dillo gives error DNS... Some ones have lib dependency errors.

How I could solve that??

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#326 Post by goingnuts »

taca0:
Even though the dillo is a static build you need some other libs as well. Here is a pet of a dynamic build with all needed deps that should work although you might get problems with only 32Mb ram.
If you have pci sound card it is normally recognized by kernel - I have not succeeded to get ISA-cards running yet.
And thanks for testing and reporting!

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#327 Post by goingnuts »

technosaurus wrote:Update: firmware is also controlled by /etc/modules/firmware.dep*
Some things may need /etc/modules.conf (conexant modems)
There are various additional conf files in /etc/modprobe.d/* and /etc/rc.d/* that get loaded by /etc/rc.d/rc.sysinit (Barry's version has a lot of work arounds for the small busybox modutils that could be removed if using the full busybox modutils)
Thanks! The original modprobe is needed - has to be able to take a conf-file. Firmware is loaded via pup_event_backend_firmware and pup_event_backend_modprobe triggered by udevd following rules in /etc/udev/rules 50-udev-puppy-basic.rules. Also version of udevd matters...
For wireless connect-script I had to change back from iwlist to wpa_cli to get the right encryption type in static builds.
Posting this through pupngo - dillo - wireless wpa2 - usb-wireless adaptor needing firmware-drivers :-)

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#328 Post by technosaurus »

So I am without internet on my puppy box right now, which kinda sux, but it has allowed me to play with the internals a bit without so much distraction. Learned the powers of substring manipulation and some other script stuff and in the process rediscovered an unrelated idea for a better boot to desktop method.

Here is the jist of it:
Spawn xvesa and jwm early in init (with necessary files in the initial ramdisk)
Use trays to update the boot status using rxvt -e jwm -restart at each stage.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#329 Post by goingnuts »

technosaurus: Extremely interesting! Do you do a "switch root" in the boot process and maintain GUI? The "trouble" with rxvt starting very early in the boot process - do you know if st has same behavior?

Living without internet for a longer time is annoying!

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#330 Post by technosaurus »

goingnuts wrote:technosaurus: Extremely interesting! Do you do a "switch root" in the boot process and maintain GUI? The "trouble" with rxvt starting very early in the boot process - do you know if st has same behavior?

Living without internet for a longer time is annoying!
I removed the switchroot and put the minimal pupngo into the initrd, then started cutting down. Eventually I made a giant leap and started with a blank init script... adding only necessary items as I went. I only tried aterm and rxvt. I had hope that an xcb based terminal emulator that was in the works would come to fruition though a port of st to xcb+xcb utils would be great. Mounting dev and proc and starting mdevd -s didn't work and I am unfamiliar with getty and the various scripts in etc/ that run after init. I need to get a working qemu so I can do these kinds of things without constantly rebooting.

BTW I compiled an x11 only mrxvt with tab support and patched it to number the tabs instead of just calling them Terminal by default ... also added functions to bashbox to modify the tab and window titles (useful for updating status in scripts) ...and did one for rxvt window title too, which for some reason does the tab title in mrxvt. Mrxvt uses a bit more resources, but multiple tabs saves it right back by not needing multiple instances.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#331 Post by goingnuts »

technosaurus wrote: BTW I compiled an x11 only mrxvt with tab support and patched it to number the tabs instead of just calling them Terminal by default..
Any chance that you would post this?

To follow up on one of your many ideas I have made a small program for showing a xpm-image in the tray. Can be used to make custom tray-monitors - ex. xload. Image to use can be controlled from a shell script changing the symlink to a fixed named xpm-image. The program (pmmon - size 10K) takes the following switches:

Code: Select all

-b "bgcolour"    Window bg colour, ex. "LightGray"
-d <disp>        Set the display
-i "image"         Full path to image to show
-l "command"   Command to execute on left button mousekey press
-m "command" Command to execute on midt button mousekey press
-r "command"   Command to execute on right button mousekey press
-u <seconds>  Set update interval (default 0.5)
-h, --help          Display this help text and exit
so all mouse bottoms can be programmed to launch individual other bins.
Ex: pmmon -i "/usr/bin/f0.xpm" -l "rxvt -e top" -r "rxvt -e ps"

Attached a very simple example to replace xload.
Just include the following in /root/.jwmrc-tray

Code: Select all

<Swallow name="pmmon" width="34">
load.sh
</Swallow>
in the appropriate section...
NB: The example wont run correct in pupngo as script uses "bc" which is not present.
Slightly annoyed by above...replace load.sh code with below code:

Code: Select all

#!/bin/ash
pmmon -i "/usr/bin/f0.xpm" -l "rxvt -e top" -r "rxvt -e ps" &
while :; do
CPUHIGH=$(cat /proc/loadavg | cut -d " " -f1 | cut -d "." -f1)
[ $CPUHIGH -ge 2 ] && ln -sf /usr/bin/red.xpm /usr/bin/f0.xpm
[ $CPUHIGH -lt 2 ] && [ $CPUHIGH -ge 1 ] && ln -sf /usr/bin/yellow.xpm /usr/bin/f0.xpm
[ $CPUHIGH -lt 1 ] && ln -sf /usr/bin/green.xpm /usr/bin/f0.xpm
sleep 10
done
...knowing that its not actually cpu-load but "xload"...
Attachments
pmmon-0.1.tar.gz
pmmon-0.1 including example of primitive xload replacement
(3.95 KiB) Downloaded 335 times

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#332 Post by technosaurus »

I downloaded opera mini so I should be able to post pets now

try this
awk '{print $1}' /proc/loadavg

cut can be very difficult to maintain for /proc stuff due to kernel changing the pretty print ... tr -s can help, but I've learned the hard way that awk was designed for these exact situations

love the new tool though, I'd like to check out how hard it would be to allow multiple different images (to handle all of the tracking in one applet & cut down resource usage)
I think I posted all of my /proc hacks in jemimah's vattery thread (to get all sorts of info)... back when I was still trying to use cut also

here is a snippet of c that I use to shift the input parameters
#define shift(i,a) ({ int j=0; while(a[j] != NULL){a[j]=a[j+i];j++;})
it works best with a fixed number of parameters, otherwise you have to do checks.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#333 Post by goingnuts »

Thanks for the awk-tip! Do not expect pmmon to be bug-free - it seems that one instance running is ok - but more do not work. Think jwm only like to swallow one app. by name(?) - maybe a switch to name the child might work. Rename does not. And app. name is at the moment hard coded in pmmon - I´ll try to improve on that.
Update: Attached version takes appname and refuse to run if no image path is given. Also reduced size to 7K. Made the attached pmabs - a simple volume indicator - now able to run several pmmon and get them swallowed. Right-click mute/unmute - left-click launch xmixer if installed.
Attachments
pmabs-0.1.tar.gz
tray-applet for volume. included static build of aumix.
(28.25 KiB) Downloaded 299 times
pmmon-0.2.tar.gz
(3.31 KiB) Downloaded 313 times

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#334 Post by technosaurus »

posting mrxvt + others I forgot?

I was actually hoping that we could somehow loop through the args in c to have multiple images side by side...thus only need 1 instance of the program for monitoring multiple parameters. I may have to dig out the old x11 programming manual I found in a recycling bin.

in jemimah's words this would be a hack on top of an already dirty cludge... found the link to the procinfo stuff though
murga-linux.com/puppy/viewtopic.php?t=50696
Attachments
mrxvt-0.5.4-small.pet
(72.91 KiB) Downloaded 543 times
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#335 Post by goingnuts »

I was actually hoping that we could somehow loop through the args in c to have multiple images side by side..
That should be possible I think - I will work on it. Thanks for the posted programs! Attached the source code for pmmon - need to implement kill of running pmmon when restart jwm to prevent multible instances. Also need to find a way to have the background colour transfered to the icon background. A replacement for the system call (as it pause running pmmon) would be nice...
Update: The kill of running pmmon can be done from script and the pause of pmmon when calling system can be overcome by issuing command with "&" in the end - ex:

Code: Select all

pmmon -n "pmabs" -i "/usr/bin/f1.xpm" -l "xmixer &" -r "mute &" &
Attachments
pmmon-0.2-source.tar.gz
pmmon-0.2 source
(2.22 KiB) Downloaded 281 times

Post Reply