XOpup Interest Group. Puppy Linux for the OLPC XO-1 laptop

A home for all kinds of Puppy related projects
Message
Author
hailpuppy
Posts: 73
Joined: Wed 28 Oct 2009, 07:49

#331 Post by hailpuppy »

mavrothal wrote:
hailpuppy wrote: Mavrothal good to see that you are trying to get Tinycore Linux to work on XO. Hmm. What our objective should be I guess to make XO a workable piece of thing
Is not clear to me what are you talking about. :?
Ubuntu intrepid - Xfce4 is rock solid. Will run practically every intrepid package in or out of the repositories, most of the intrepid hacks and then some. Its thread has 350.000 hits!
And BTW it does not even need a developers key. It will run fine on locked XOs since its using the official intact boot folder and security settings. So desperate moms and dads out there go for it :wink:
Hi Mavrothal can you kindly provide the URL leading to this particular Ubuntu intrepid - Xfce4 you are talking about?I just want to make sure that I am jumping to the right link on this. Why i m specially concerned about this is due to its capability to boot without the developer key and of course your reccommendation.

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#332 Post by mavrothal »

hailpuppy wrote:

Hi Mavrothal can you kindly provide the URL leading to this particular Ubuntu intrepid - Xfce4 you are talking about?I just want to make sure that I am jumping to the right link on this. Why i m specially concerned about this is due to its capability to boot without the developer key and of course your reccommendation.
Here is the build, instructions, sources and discussion
http://www.olpcnews.com/forum/index.php?topic=4053.0

Here you can see the "distillation" for some common mistakes problems and solutions out of 1200+ posts in 2 threads (some of puppy's huge threads could use such a thing :wink: )
http://www.olpcnews.com/forum/index.php?topic=4057.0

And here is a reference from the developer about the developers key
http://www.olpcnews.com/forum/index.php ... 5#msg25755
It is actually for its previous version (Hardy) but also true for Intrepid.
Keep in mind however that XOs from deployments that are using their own signed OS versions and not the official OLPC one, may still need a developers key (you may be able to rebuild ubuntu around your deployment's kernel and signatures, but that's for another forum :lol: )
If on the other hand you have/can install and run the official os767 and you have firmware q2e18 or newer, is pretty sure that Ubuntu will run fine.
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

hailpuppy
Posts: 73
Joined: Wed 28 Oct 2009, 07:49

#333 Post by hailpuppy »

Thanks a lot buddy, I l check on that then...

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

sound any one???

#334 Post by mavrothal »

Image

This is not to continue the photo-thread :P ... but to point out that the audio adapter is clearly detectable by the hardware monitor, and yet the alsawizard can not find any audio card.

Please, anybody that has some idea as of what might be the problem, just through it in to see if I can do anything about it...

BTW, this is quirky 1.0 with the geode driver from Lupu (since BK did not update the driver in quirky and the one in the release does not work)
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

eowens2
Posts: 177
Joined: Wed 27 Aug 2008, 17:57

#335 Post by eowens2 »

Mavrothal, I have reached the same point by a different route.

I have been working on Puppy version 4.31.

Since Puppy implements sound as "M" rather than "Y", I thought that this might be a factor in the sound problem, so I did a kernel re-compile with sound as modules.

The kernel boots fine, x-windows looks good, all the user applications that I have checked seem to work OK, wireless router detected and connects immediately (I am sending this from Puppy 4.31 on the XO).
CUPS works well and prints flawlessly via wireless to an Officejet network printer.

But I am having a problem with sound similar to what you have described.

Alsaconf executes without reporting any errors, and at the end tells me ALSA is configured, and offers to play a test sound, but no audible test sound is generated (Sugar's Tam Tam makes plenty of noise noise on my XO-1, Teapot's Ubuntu's sound works well).

#alsamixer => "snd_ctl_open : no such device"

#aplay -vv /usr/share/audio/2barks.wav => "cannot find card0 - no such device"

#aplay -l => "no soundcards found..."

but

#cat /proc/asound/cards =>
0 [Audio ]: cs5535audio - CS5535 Audio
CS5535 Audio cs5535audio at 0x1480, irq 5


The tail of /etc/modprobe.conf shows
# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF version 1.0.20 ---
alias snd-card-0 snd-cs5535audio
alias sound-slot-0 snd-cs5535audio
# --- END: Generated by ALSACONF, do not edit. ---

# lspci shows
00:01.0 Class 0600: 1022:0028 (rev 21)
00:01.1 Class 0300: 1022:2081
00:01.2 Class 1010: 1022:2082
00:0c.0 Class 0501: 11ab:4100 (rev 10)
00:0c.1 Class 0805: 11ab:4101 (rev 10)
00:0c.2 Class 0400: 11ab:4102 (rev 10)
00:0f.0 Class 0601: 1022:2090 (rev 03)
00:0f.3 Class 0401: 1022:2093 (rev 01)
00:0f.4 Class 0c03: 1022:2094 (rev 02)
00:0f.5 Class 0c03: 1022:2095 (rev 02)


lsmod | grep snd shows:
snd_pcm_oss 34044 0
snd_seq_dummy 2660 0
snd_seq_oss 24044 0
snd_seq_midi_event 6724 1 snd_seq_oss
snd_seq 42080 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device 6608 3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_mixer_oss 14504 1 snd_pcm_oss
snd_cs5535audio 12740 0
snd_ac97_codec 93820 1 snd_cs5535audio
ac97_bus 1660 1 snd_ac97_codec
snd_pcm 64488 3 snd_pcm_oss,snd_cs5535audio,snd_ac97_codec
snd_timer 18596 2 snd_seq,snd_pcm
snd 51500 9 snd_pcm_oss,snd_seq_oss,snd_seq,snd_seq_device,snd_mixer_oss,snd_cs5535audio,snd_ac97_codec,snd_pcm,snd_timer
snd_page_alloc 8404 2 snd_cs5535audio,snd_pcm

/usr/lib/alsa-lib is present.

# modinfo snd_cs5535audio shows:
filename: /lib/modules/2.6.31_xo1-20100428.0000.1.olpc.628e024_DIRTY/kernel/sound/pci/cs5535audio/snd-cs5535audio.ko
description: CS5535 Audio
license: GPL
author: Jaya Kumar
srcversion: 356AFFBF0C6C10220832780
alias: pci:v00001022d00002093sv*sd*bc*sc*i*
alias: pci:v0000100Bd0000002Esv*sd*bc*sc*i*
depends: snd-ac97-codec,snd-pcm,snd,snd-page-alloc
vermagic: 2.6.31_xo1-20100428.0000.1.olpc.628e024_DIRTY preempt mod_unload modversions GEODE 4KSTACKS
parm: ac97_quirk:AC'97 board specific workarounds. (charp)
parm: index:Index value for cs5535audio (array of int)
parm: id:ID string for cs5535audio (array of charp)
parm: enable:Enable cs5535audio (array of bool)

I e-mailed Mitch Bradley with the above info 2-3 days ago, but he did not see any immediate solutions.

Any Puppy ALSA GURUs out there? Have a look! Why is the OS doing a double-speak: acknowledging the existence of a cs5535audio sound card 0 but in the next breath saying it cannot find such a device?

We are very close to having a a viable Xopup and can't abandon ship now! From my limited experience with this distro on the XO, Puppy makes a 433 MHz processor seem...well...snappy!

HELP!

(P.S. - I reached the same point in Lupu-009 on ALSA, and in addition could not get the wireless to work, so I went back to 4.31)

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#336 Post by mavrothal »

eowens2
you are way ahead of me :D

I'll recompile a kernel with sound as a module and see how this goes.
I think I have seen somewhere (in devel I think) that was a trick needed to get the mixer going but I can not find it now. You may want to ask in devel/irc (and let us know).

With Lulu/quircky I have no problem with network either with the connection wizard or with the simple network setup. Lupu is better (keeps SNS settings through reboots). I'm using WEP encryption.
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#337 Post by Aitch »

eowens2/mavrothal

Hey guys

I seem to recall either MU or tempestuous posting alsa tips for different puppy configurations

It may be as simple as adding a pfix=irq to the boot params to read the interrupts ........?

then add what works to /etc/rc.d/rc.local

I've also read that sometimes headphone o/p's work when speakers don't - caused by external settings in alsa conf,
.....or mute being set - unset it to work

Have you tried modprobe AC97?

cs5535 shows as a multifunction southbridge chipset using AC97 codec

Some further/relevant(?) alsa info here

http://www.linuxjournal.com/article/10081

http://preview.tinyurl.com/3838v6l

Good luck

Aitch :)

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#338 Post by mavrothal »

I do not know how is in 4.3.1 but in the recent Quirky/Lupu I think is related to proper root switching.

When running from USB, it remains in /initrd and /lib/modules is the initrd modules. So I get "can not be found" errors in modprobe although the modules are in /lib/modules (but not in /initram/lib/modules)
When the entire kernel (/lib/modules/`uname -r`/kernel) is places in the initrd.gz then modprobe works fine from the terminal but it would appear that different wizards have problem to get it right and fail.

So it maybe related to proper root switching really or instructing alsa wizard to look at a different place for the modules.
Any idea how do I test for proper root switching or tell alsa wizard/modprobe-FULL about the module path?

eowens2
do you think you maybe getting "similar" issues with puppy4.3.1?
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

eowens2
Posts: 177
Joined: Wed 27 Aug 2008, 17:57

#339 Post by eowens2 »

Mavrothal,

I could be wrong, but I think that the switch_root in the Puppy 4.31 that I am using on the XO-1 has executed without error, and that the layered file system is working O.K.

I have not specifically looked at the following in Lupu-009 or Quirky, but in Puppy 4.31 have made the following observation. Take a pristine CD of the distro, and decompress the initrd to its filesystem, and unsquash the pup-431.sfs to its file system, and then compare the respective /lib/modules/*/kernel/...ko. The 10-12 modules that end up in the initrd are absent from the .sfs, meaning that they have been moved, not copied from the .sfs.

If I read the initrd/init correctly (maybe I'm not!), in preparation for switch_root, puppy copies those 10-12 modules into the /pup_new/initrd/pup_ro1 (where they stay), and the .sfs ends up in /pup_new/initrd/pup_ro2 (with the rest of the modules). Again, running "ls" on the respective pup_ro1 and pup_ro2 directories in the Puppy booted to desktop, one can see that the module contents of the two directories are not the same.

Looking at the output of lsmod (from my post yesterday), one can see modules from pup_ro1 (aufs, squashfs, ehci_hcd, ohci_hcd, etc) and modules from pup_ro2 (eg. all of the snd modules), and that the OS is seeing and able to load items from both components of the modules pool. And modinfo xxxx works fine, regardless of which pool the module is in. Also, the functioning of modprobe and modinfo would seem to validate the integrity of the respective modules.dep files, no?

So I think switch_root and layering are O.K.

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#340 Post by mavrothal »

I did recompile the kernel with sound as a module and sure enough in Lupu-116 I have the exact same behavior you described.
Eg wizard gows through OK but no sound or mixer at the end.
However looking at dmesg I get at the end of the alsawisard run

Code: Select all

[  554.236469] cs5535audio 0000:00:0f.3: setting latency timer to 64
[  554.243623] Failure reading codec reg 0x7e,Last value=0x7e805368
[  554.249827] Failure reading codec reg 0x7e,Last value=0x7e805368
Have you noticed something similar eowens2?

Anybody has any idea what this might mean?
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

eowens2
Posts: 177
Joined: Wed 27 Aug 2008, 17:57

#341 Post by eowens2 »

Yes, I have those exact messages in my dmesg, but much earlier (I guess those are elapsed seconds in the column down the left of a dmesg output!). I get them at 23.75-23.83 sec.

I think totally apart from user-initiated alsaconf, ALSA is activated by /etc/rc.d/rc.sysinit & /etc/rc.d/services.

I don't have a clue what to do with this.

I googled "puppy alsa cs5535" and it turns up a few items, mostly from a couple of years ago. I have found nothing definitive thus far however.

eowens2
Posts: 177
Joined: Wed 27 Aug 2008, 17:57

#342 Post by eowens2 »

Aitch,

Thank you for the links, I will check them out.

I don't seem to have an ac97 module, but I do have a snd_ac97_codec module, and it seems to modprobe and modinfo O.K., along with its dependencies.

I did try adding "pfix=irq" to my bootfile, but it did not seem to make any difference.

Thanks for the interest, keep up the suggestions!

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#343 Post by tempestuous »

Regarding audio, the fix might be as simple as re-loading the ALSA driver with extra parameters.
Try this -

Code: Select all

rmmod snd-cs5535audio
modprobe snd-cs5535audio enable=true
or

Code: Select all

rmmod snd-cs5535audio
modprobe snd-cs5535audio enable=true ac97_quirk=inv_eapd
If no luck, I see some sketchy information on the web to suggest that OLPC support in the snd-cs5535audio driver depends on the cs5535_gpio driver (for AMD CS5535/CS5536 GPIO Geode companion device).
If true, you might need to compile your kernel modules again to include the cs5535_gpio module. In menuconfig, it's found at -

Device Drivers > Character devices > AMD CS5535/CS5536 GPIO (Geode Companion Device)

... and you will probably need to recompile the snd-cs5535audio driver afterwards.

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

sound

#344 Post by mavrothal »

tempestuous
thanks a lot for the suggestions
cs5535_gpio is included as a module by default in OLPC kernels
modprobe snd-cs5535audio enable=true give "no such option" as well as
modprobe snd-cs5535audio enable=true ac97_quirk=inv_eapd while
modprobe snd-cs5535audio ac97_quirk=inv_eapd goes through but with the same end result :cry:

I dumped the alsaconf output to a file and there I see these

Code: Select all

modinfo: could not open kernel/sound/core/snd.ko: No such file or directory
modinfo: could not open kernel/sound/core/snd.ko: No such file or directory
modinfo: could not open kernel/sound/core/snd.ko: No such file or directory
in the depmod step

(Parenthesis: this always confuses me in puppy. depmod/modprobe appear to require the full module path and when the default /lib/modules/`uname -r`/ prefix is assumed, fail :?: End Parenthesis)

Then at mixer setup

Code: Select all

Setting default volumes...
amixer: Mixer attach default error: No such device
and finally

Code: Select all

ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4154:(_snd_config_evaluate) function snd_func_card_driver returned error: No such device
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4154:(_snd_config_evaluate) function snd_func_concat returned error: No such device
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4154:(_snd_config_evaluate) function snd_func_refer returned error: No such device
ALSA lib conf.c:4633:(snd_config_expand) Evaluate error: No such device
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM default
aplay: main:608: audio open error: No such device
Saving the mixer setup used for this in /etc/asound.state.
/usr/sbin/alsactl: save_state:1502: No soundcards found...
The other bit of info is that in Fedora/OLPC there are 2 settings for alsa/oss in modprobe.conf (actually in /etc/modprobe.d/dist-alsa.conf and dist-oss.conf)

Code: Select all

# ALSA Sound Support
#
# We want to ensure that snd-seq is always loaded for those who want to use
# the sequencer interface, but we can't do this automatically through udev
# at the moment...so we have this rule (just for the moment).
#
# Remove the following line if you don't want the sequencer.

install snd-pcm /sbin/modprobe --ignore-install snd-pcm && /sbin/modprobe snd-seq
and

Code: Select all

# OSS Sound Support
# This has been disabled in F11 onwards because it can interfere with the
# PulseAudio sound service (a legacy OSS application can prevent PulseAudio
# applications from playing sound by preventing PulseAudio from (re-)opening
# the sound device). To re-enable support, uncomment the following line:
#
# install snd-pcm /sbin/modprobe --ignore-install snd-pcm && /sbin/modprobe snd-pcm-oss && /sbin/modprobe snd-seq-device && /sbin/modprobe snd-seq-oss
I tried them both in /etc/modprobe.conf but no luck (though we may need to try a bit more on that since "--ignore-install" is not a recognized option in puppy)

Any suggestion?

Thx again
Last edited by mavrothal on Sat 08 May 2010, 07:43, edited 1 time in total.
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#345 Post by tempestuous »

mavrothal wrote:cs5535_gpio is included as a module by default in OLPC kernels
Without me having to read all 23 pages of this thread, can someone tell me exactly what kernel is under discussion here?

I see that eowens2 appears to be modifying the Puppy 4.31 kernel, and I know for a fact that the cs5535_gpio module is not included in Puppy 4.31 as standard.

But when you guys do recompile a kernel (whatever kernel version that might be) you should enable the cs5535_gpio module, and rebuild the snd-cs5535audio module at the same time.
THEN it might be worth loading the cs5535_gpio module at boot up ... because the (updated) snd-cs5535audio module may rely on it for OLPC-specific functions.
mavrothal wrote:

Code: Select all

modinfo: could not open kernel/sound/core/snd.ko: No such file or directory
If the snd kernel module cannot be located, someone has made a major stuff-up ...
and this is clearly not the same situation as exists for eowens2, because I see the snd module listed in eowens2's lsmod output.

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#346 Post by mavrothal »

tempestuous wrote:
mavrothal wrote:cs5535_gpio is included as a module by default in OLPC kernels
Without me having to read all 23 pages of this thread, can someone tell me exactly what kernel is under discussion here?

I see that eowens2 appears to be modifying the Puppy 4.31 kernel, and I know for a fact that the cs5535_gpio module is not included in Puppy 4.31 as standard.

But when you guys do recompile a kernel (whatever kernel version that might be) you should enable the cs5535_gpio module, and rebuild the snd-cs5535audio module at the same time.
THEN it might be worth loading the cs5535_gpio module at boot up ... because the (updated) snd-cs5535audio module may rely on it for OLPC-specific functions.
mavrothal wrote:

Code: Select all

modinfo: could not open kernel/sound/core/snd.ko: No such file or directory
If the snd kernel module cannot be located, someone has made a major stuff-up ...
and this is clearly not the same situation as exists for eowens2, because I see the snd module listed in eowens2's lsmod output.
Eowens2 and I are not using the same kernels (I think). However, we both use an OLPC modified 2.6.31 kernel patched for Aufs2 (I believe).

In my case (with the version at hand) I have the entire kernel in initrd/lib/modules and all the aforementioned modules are loaded and present in lsmod output. However, depmode-FULL still complains that can not be found though the module is loaded and alsaconf proceeds normally and reports success.

As you may see in the (added) parenthesis in my previous post the full module path is needed for the modprobe to work.
If modules.dep is in the "kernel/driver/whaterver.ko" format it does not work. If it is in the "/lib/modules/kernel_ver/kernel/driver/whatever.ko" is OK ???


Edit: Crash course in (my) puppy-xo kernels. :D
Build a kernel.rpm in a Fedora 11 machine.
Install on the XO-1 running Fedora11. Check that everything works on the XO-1 running this kernel.
Modify the puppy initrd.gz by removing the lib/modules/puppy_kernel_ver and replace with the /lib/modules/puppy-xo-kernel_ver from the F11 running XO-1 .
Edit the modules.dep to include the full path (Required. Is this way in the original initrd too. When booted the /lib/modules/kern_ver/modules.dep has the "normal" format)
add "modprobe usb-libusual" in initrd/init (not needed if the full kernel is used in initrd)
Done.
To minimize sfs size and possible conflicts, remove from the puppy_variant.sfs
/lib/modules/puppy_kernel_ver/
/lib/modules/all-firmware/
/lib/firmware/* (and add usb8388.bin in it).
Edit /etc/modprobe.conf with the XO-1 F11 configuration (optional)
Delete unneeded video drivers (optional)
Repack the sfs.
Replace Puppy vmlinuz with the one from the puppy-xo kernel
Your XOpup is ready for testing :D
Last edited by mavrothal on Wed 12 May 2010, 16:10, edited 2 times in total.
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#347 Post by mavrothal »

tempestuous wrote:
mavrothal wrote:

Code: Select all

modinfo: could not open kernel/sound/core/snd.ko: No such file or directory
If the snd kernel module cannot be located, someone has made a major stuff-up ...
and this is clearly not the same situation as exists for eowens2, because I see the snd module listed in eowens2's lsmod output.
It actually is! I guess eowens2 did not catch it because it just flies by.
Here is the modinfo and lsmod in my case

Code: Select all

# modinfo snd
filename:       /lib/modules/2.6.31_xo1-20100507.1858.1.olpc.7223ce6_PuppyPatched/kernel/sound/core/snd.ko
alias:          char-major-116-*
license:        GPL
description:    Advanced Linux Sound Architecture driver for soundcards.
author:         Jaroslav Kysela <perex@perex.cz>
srcversion:     DB7976AF0DFD038DB4F46CD
depends:        
vermagic:       2.6.31_xo1-20100507.1858.1.olpc.7223ce6_PuppyPatched preempt mod_unload modversions GEODE 4KSTACKS 
parm:           slots:Module names assigned to the slots. (array of charp)
parm:           major:Major # for sound driver. (int)
parm:           cards_limit:Count of auto-loadable soundcards. (int)
#
# lsmod
Module                  Size  Used by
snd_cs5535audio         5788  0 
snd_ac97_codec         66728  1 snd_cs5535audio
snd_pcm                38380  2 snd_cs5535audio,snd_ac97_codec
snd_timer              11120  1 snd_pcm
snd                    28404  4 snd_cs5535audio,snd_ac97_codec,snd_pcm,snd_timer
mousedev                6600  1 
usb8xxx                10468  0 
libertas              116236  1 usb8xxx
lib80211                2272  1 libertas
serio_raw               2520  0 
fuse                   36028  0 
aufs                  103476  459 
nls_iso8859_1           2804  0 
nls_cp437               4336  0 
usbhid                 15724  0 
usb_storage            21344  1 
sr_mod                  9916  0 
cdrom                  23828  1 sr_mod
squashfs               15688  1 
ohci_hcd               14964  0 
ac97_bus                 512  1 snd_ac97_codec
snd_page_alloc          4300  2 snd_cs5535audio,snd_pcm
cs5535_gpio             1560  0 
cafe_ccic              12244  0 
ehci_hcd               23628  0 
psmouse                16448  0 
usb_libusual            7228  1 usb_storage
usbcore                83268  7 usb8xxx,usbhid,usb_storage,ohci_hcd,ehci_hcd,usb_libusual
Now why depmod-FULL reports that can not find it I do not know but

Code: Select all

# depmod-FULL snd
FATAL: modules must be specified using absolute paths.
"snd" is a relative path
# depmod snd
depmod: can't stat 'lib/modules/2.6.31_xo1-20100507.1858.1.olpc.7223ce6_PuppyPatched/snd': No such file or directory
# 
So there is something strange with depmod/demod-FULL but I just can't figure this.
Any Idea?
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

eowens2
Posts: 177
Joined: Wed 27 Aug 2008, 17:57

#348 Post by eowens2 »

tempestuous, the kernel is from the olpc repository: git clone git://dev.laptop.org/olpc-2.6 and git checkout origin/olpc-2.6.31. We then patched in aufs2 and squashfs. The stock olpc kernel has snd compiled into the body of the kernel, so on re-compile we configured snd as modular.

Theoretically, we could have begun with the Puppy's kernel and patched in the XO's hardware (I did try this a while), but I get the impression that this is a much harder route...see Mitch Bradley's <wmb@firmworks.com>post in this thread from 17 Jan 2010 http://www.murga-linux.com/puppy/viewto ... &start=210. Mitch is one of the developers at OLPC, whose main area of interest is Open Firmware.

When I add the parameters "enable=true with or without ac97_quirk=inv_eapd" to modprobe snd_cs5535audio, I get "Invalid Argument". When I boot Puppy 4.31 to desktop, open a console and do "lsmod", cs5535_gpio is present, though I am not sure where in the boot process it is loaded.

I think that I am at about the same place as Mavrothal. Here is my output:

# lsmod

Module Size Used by
snd_pcm_oss 34044 0
snd_seq_dummy 2660 0
snd_seq_oss 24044 0
snd_seq_midi_event 6724 1 snd_seq_oss
snd_seq 42080 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device 6608 3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_mixer_oss 14504 1 snd_pcm_oss
snd_cs5535audio 12740 0
snd_ac97_codec 93820 1 snd_cs5535audio
ac97_bus 1660 1 snd_ac97_codec
usb8xxx 14632 0
snd_pcm 64488 3 snd_pcm_oss,snd_cs5535audio,snd_ac97_codec
libertas 141200 1 usb8xxx
snd_timer 18596 2 snd_seq,snd_pcm
lib80211 6256 1 libertas
snd 51500 9 snd_pcm_oss,snd_seq_oss,snd_seq,snd_seq_device,snd_mixer_oss,snd_cs5535audio,snd_ac97_codec,snd_pcm,snd_timer
snd_page_alloc 8404 2 snd_cs5535audio,snd_pcm
serio_raw 5260 0
cafe_ccic 18720 0
cs5535_gpio 3736 0
psmouse 25560 0
ohci_hcd 20028 0
mousedev 11028 1
fuse 52864 0
aufs 119796 1
nls_iso8859_1 3872 0
usb_storage 33356 1
usbhid 24228 0
usb_libusual 20080 1 usb_storage
squashfs 20440 1
ehci_hcd 30124 0
usbcore 132400 7 usb8xxx,ohci_hcd,usb_storage,usbhid,usb_libusual,ehci_hcd
#

# modinfo snd
filename: /lib/modules/2.6.31_xo1-20100428.0000.1.olpc.628e024_DIRTY/kernel/sound/core/snd.ko
alias: char-major-116-*
license: GPL
description: Advanced Linux Sound Architecture driver for soundcards.
author: Jaroslav Kysela <perex@perex.cz>
srcversion: DB7976AF0DFD038DB4F46CD
depends:
vermagic: 2.6.31_xo1-20100428.0000.1.olpc.628e024_DIRTY preempt mod_unload modversions GEODE 4KSTACKS
parm: slots:Module names assigned to the slots. (array of charp)
parm: major:Major # for sound driver. (int)
parm: cards_limit:Count of auto-loadable soundcards. (int)
#

# depmod-FULL snd
WARNING: Can't read module snd: No such file or directory
FATAL: grab_module() failed for module snd
#

# depmod snd
depmod: can't stat 'lib/modules/2.6.31_xo1-20100428.0000.1.olpc.628e024_DIRTY/snd': No such file or directory
#

The process of getting a modules.dep into the initrd was puzzling. To construct it I did a depmod -b $DIR <kernel_name> where $DIR is the staging directory that contains lib/modules/<kernel_name>. This does create a modules.dep in the right place with the right modules, with a module listing in the form "kernel/fs/aufs/aufs.ko". But this format of the listing leads to "aufs.ko - no such file or directory". Finally, at my wit's end, I added manually "/lib/modules/<kernel_name>/" as a prefix to each listing in modules.dep, and the modules were found and loaded. Afterwards I found that in a pristine puppy 4.31 initrd, the modules.dep listing is the full pathway.

Also interesting is that the modules.dep in /initrd/pup_ro1 has the full pathway whereas the modules.dep for the .sfs (/initrd/pup_ro2) has the abbreviated pathway (i.e. kernel/fs/aufs/aufs.ko) which contains snd.

I do not understand why initrd can find and load modules, but the fully booted OS has difficulty.

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#349 Post by tempestuous »

When you run "modinfo snd" the location of the snd module is reported as:

/lib/modules/2.6.31_xo1-20100428.0000.1.olpc.628e024_DIRTY/kernel/sound/core/snd.ko


But when you run "depmod-FULL" the system expects it here:

/lib/modules/2.6.31_xo1-20100428.0000.1.olpc.628e024_DIRTY/snd


It looks like you have located the snd module in 2 different locations. I'm not sure whether that applies to the normal filesystem, the initrd, or both. You need to investigate, and sort it out.
The correct location is /lib/modules/<kernelversion>/kernel/sound/core

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#350 Post by mavrothal »

eowens2
I can see we have identical behavior, so I was thinking that might be something in the kernel building that Pupy/depmode can not cope with.

Are you building kernel rpms? Have you ever tried just "make"?
Are you building in a fedora Machine? Have you tried in a Puppy machine?
From the kernel naming I can see that you use the olpc/Makefile, did you ever tried with a puppy makefile? (I'm not sure if this thing exists).

I think I have seen that cross post depmode does not work always, so this might be at the root of this problem.
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

Post Reply