Wakepup2 Aug 2008 - floppy image for booting from USB

Using applications, configuring, problems
Message
Author
User avatar
Crash
Posts: 453
Joined: Fri 09 Dec 2005, 06:34
Location: Melbourne, FL

#91 Post by Crash »

Keef wrote:wp2test1.img - yes this works. Used option 6, so I assume Option 2 works
Thanks. That narrows the problem down considerably. It will still take a while for me to find out what is going on. I was hoping the Sept 16 version would be good to go, but such is life. I'll probably post something like a "wp2test2" image on this thread after I figure things out.
Keef wrote:I've just received a cheapo PCMCIA CF card adapter, and I'm going to see if I can get any joy from that (seems highly unlikely, going by what's been said so far...)
If you try PCMCIA with a CF card adapter, you might try the Puppy 4.1 Beta version. I had my first CF/PCMCIA success today using it. I posted the description in the Bugs - Puppy 4.1 Beta thread. The particular laptop computer I used is pretty stubborn and never has worked with PCMCIA and Wakepup/DOS, so I had to do a brute force floppy boot method. Maybe Wakepup will work for yours. I like the idea of just pushing a CF card into a $10 PCMCIA adapter.

/// Edited Sep 21

Update: After a closer look at the September 16 wakepup2.img file, the probable culprit is that autoexec.bat resides at the far end of the floppy. Floppies are notoriously unreliable in that area. I need to break out my old Norton Utilities disk to verify, but I think some physical cleanup of the files in the image will fix things. I welcome others to play with the image and give feedback. It's a great learning experience.

///

Jesse
Posts: 466
Joined: Sun 08 May 2005, 16:07
Location: Auckland, NZ

#92 Post by Jesse »

otropogo wrote:
Jesse wrote: ...
From your fully working setup you can use the steps below to figure out what drivers are needed.
This mut2 command (below) will get mut to tell you what is on the PCI bus, and what drivers are loaded there, here you should see your PCMCIA device (probably not the plug in cards themselves). It'll advise what it reckons the drivers and driver dependancies are.

Code: Select all

/usr/sbin/mut probepci --list -d -b
Afraid not.

This command opens the MUT Window but returns no information in the console. In fact, the console hangs...
Oh dear, sounds like its the older 0.1.1 version of mut that you have. Here is the download link for version 2.
http://www.murga-linux.com/puppy/viewtopic.php?t=32028
otropogo wrote:I don't think any drivers are needed to support the CF adapter and card other than those enabling pcmcia support itself.
My understanding of PCMCIA is that each PCMCIA device driver is its own entity, meaning that if you don't have the precise driver loaded for that PCMCIA port, you cannot determine anything about what is plugged in other than a chip id, so even your CF adapter needs a specific driver. Possibly you need the yenta_socket kernel driver (and its dependancy). But hopefully mut2 will be able to let you know what is needed.

Jesse

otropogo

#93 Post by otropogo »

Jesse wrote:...sounds like its the older 0.1.1 version of mut that you have. Here is the download link for version 2.
http://www.murga-linux.com/puppy/viewtopic.php?t=32028
...
Jesse
Thanks. I've downloaded it, but how do I install it? And will it work in Puppy 3.01 Retro?

Update: I ran the command again today, and this time I got a response:

bash: /usr/bin/mut: no such file or directory

There is however a program called Mtools, so I substituted that for mut, and got a list of "supported commands"

Jesse
Posts: 466
Joined: Sun 08 May 2005, 16:07
Location: Auckland, NZ

#94 Post by Jesse »

otropogo wrote:
Jesse wrote:...sounds like its the older 0.1.1 version of mut that you have. Here is the download link for version 2.
http://www.murga-linux.com/puppy/viewtopic.php?t=32028
...
Jesse
Thanks. I've downloaded it, but how do I install it?
It is a program that breaks a few Linux notions, it doesn't really install anywhere, or if you like, it installs into memory, it is a disk info service daemon, and that is accessed via command line from the mut binary, which can go anywhere you like, /temp if you just want to try it out. It has had a traditional location of /usr/bin/mut/ in Puppy Linux.
The mut binary is designed to be helpful by letting you know about the command line options when passing --help as a command line option.
otropogo wrote: And will it work in Puppy 3.01 Retro?
A good question! Um, it may crash if the glibc is version 2.4 or earlier, and I think that is all puppy editions earlier than 4.0. However if it is statically linked with a good glibc it can run fine in almost any Linux. Its just that the static link adds about 600-700Kb to the mut executable. That potential to crash is on the fork() call, and I don't think that is invoked for the probepci command that I reccomended, but it will be for virtually any other command to mut2.
I can whip up a static build for you if you like?
otropogo wrote:Update: I ran the command again today, and this time I got a response:

bash: /usr/bin/mut: no such file or directory

There is however a program called Mtools, so I substituted that for mut, and got a list of "supported commands"
From memory mtools is a dos/fat/fat32 utilities program, its nothing to do with mut.
Jesse

otropogo

#95 Post by otropogo »

Jesse wrote:
otropogo wrote:
Jesse wrote:...sounds like its the older 0.1.1 version of mut that you have. Here is the download link for version 2.
http://www.murga-linux.com/puppy/viewtopic.php?t=32028
...
Jesse
Thanks. I've downloaded it, but how do I install it?
...
It is a program that breaks a few Linux notions, it doesn't really install anywhere, or if you like, it installs into memory, it is a disk info service daemon, and that is accessed via command line from the mut binary, which can go anywhere you like, /temp if you just want to try it out. It has had a traditional location of /usr/bin/mut/ in Puppy Linux.

....

Jesse
OK. So, should I just create the folder "mut" in /usr/bin/ and extract the archive into that folder, then run the command?

Jesse
Posts: 466
Joined: Sun 08 May 2005, 16:07
Location: Auckland, NZ

#96 Post by Jesse »

otropogo wrote:OK. So, should I just create the folder "mut" in /usr/bin/ and extract the archive into that folder, then run the command?
Personally I'd just use /temp and see if mut can be of use so that you will then see if you want to keep it around in a permanent directory. If there is something already in /usr/bin/mut it'll be the older version and you may not want to overwrite that just yet, if there is nothing at /usr/bin/mut then feel free to install it there.

Jesse

otropogo

#97 Post by otropogo »

Jesse wrote:... I'd just use /temp and see if mut can be of use so that you will then see if you want to keep it around in a permanent directory. If there is something already in /usr/bin/mut it'll be the older version and you may not want to overwrite that just yet, if there is nothing at /usr/bin/mut then feel free to install it there.

Jesse
There's no mut in /usr/bin, but Mut 1.1 is on the system. I decided to run it from a flash card first, and it seems to work. Here's the output:

# /mnt/hdc1/mut probepci --list -d -b
# module_dir=/lib/modules/2.6.18.1/
# proc_dir=/proc
# filter=*.*
# -d=1 -i=0 -b=1 -l=1
00:13.1 060700 1180:0476 BRIDGE.CARDBUS <yenta_cardbus> (yenta_socket)
00:13.0 060700 1180:0476 BRIDGE.CARDBUS <yenta_cardbus> (yenta_socket)
00:02.0 030000 10C8:0003 DISPLAY.VGA <> ()
00:01.3 068000 8086:7113 BRIDGE.OTHER <piix4_smbus> (i2c-piix4)
00:01.2 0C0300 8086:7112 SERIAL.USB <> (uhci-hcd)
00:01.1 010180 8086:7111 STORAGE.EIDE <PIIX_IDE> ()
00:01.0 060100 8086:7110 BRIDGE.ISA <> ()
00:00.0 060000 8086:7100 BRIDGE.HOST <> ()
# driver is loaded yenta_cardbus
# driver is loaded yenta_cardbus
# driver is loaded piix4_smbus
# driver is loaded PIIX_IDE
# driver uhci-hcd
#already loaded driver: uhci-hcd

Jesse
Posts: 466
Joined: Sun 08 May 2005, 16:07
Location: Auckland, NZ

#98 Post by Jesse »

Hi otropogo,

Here mut2 shows your pcmcia port(s), each has an entry on the PCI bus.

00:13.1 060700 1180:0476 BRIDGE.CARDBUS <yenta_cardbus> (yenta_socket)
00:13.0 060700 1180:0476 BRIDGE.CARDBUS <yenta_cardbus> (yenta_socket)

The driver name in the angle brackets <yenta_cardbus> is the name of the driver (that the driver itself reports) that has attached itself to the PCI bus. The list of drivers that also might work is the last item (yenta_socket), the list is generated from /lib/modules/(kernel version)/modules.pcimap

I had a look and I don't see a driver called "yenta_cardbus", but it looks like the driver is called "yenta_socket".

The yenta_socket has one dependancy, rsrc_nonstatic.

/lib/modules/2.6.25.16/modules.dep:/lib/modules/2.6.25.16/initrd/kernel/drivers/pcmcia/yenta_socket.ko.gz: /lib/modules/2.6.25.16/initrd/kernel/drivers/pcmcia/rsrc_nonstatic.ko.gz


Actually this is ringing some bells.
yenta_socket and rsrc_nonstatic can be loaded in the initrd, and have been for quite a few puppy editions, I think there is some boot option to get it going, um... pfix=pcmcia or pfix=cardbus something like that from memory.

Heres some people with similar problem and potential fixes fix:
http://www.murga-linux.com/puppy/viewtopic.php?p=213637

There are a lot of results to this google search:
pfix pcmcia site:www.murga-linux.com/
And its a lot faster than using the forum search function.

Regards
Jesse

otropogo

#99 Post by otropogo »

Jesse wrote:Hi otropogo,

Here mut2 shows your pcmcia port(s), each has an entry on the PCI bus.

00:13.1 060700 1180:0476 BRIDGE.CARDBUS <yenta_cardbus> (yenta_socket)
00:13.0 060700 1180:0476 BRIDGE.CARDBUS <yenta_cardbus> (yenta_socket)

The driver name in the angle brackets <yenta_cardbus> is the name of the driver (that the driver itself reports) that has attached itself to the PCI bus. The list of drivers that also might work is the last item (yenta_socket), the list is generated from /lib/modules/(kernel version)/modules.pcimap

I had a look and I don't see a driver called "yenta_cardbus", but it looks like the driver is called "yenta_socket".

The yenta_socket has one dependancy, rsrc_nonstatic.

/lib/modules/2.6.25.16/modules.dep:/lib/modules/2.6.25.16/initrd/kernel/drivers/pcmcia/yenta_socket.ko.gz: /lib/modules/2.6.25.16/initrd/kernel/drivers/pcmcia/rsrc_nonstatic.ko.gz
Jesse, while I appreciate your effort, I'm very much afraid this information requires more than my very limited understanding of Linux to apply.

I would note, however, that the Puppy 3.01 Retro, which generated my probe results, runs with Linux Kernel 2.6.18, whereras the modules you cite above are for Kernel 2.6.25.

Heres some people with similar problem and potential fixes fix:
http://www.murga-linux.com/puppy/viewtopic.php?p=213637
Had a look, but not obviously related to my situation, since they're working on USB, while I'm stuck with 16-bit pcmcia. There's also only been one post since July...
There are a lot of results to this google search:
pfix pcmcia site:www.murga-linux.com/
Thanks for the tip, will have a look later,.

Jesse
Posts: 466
Joined: Sun 08 May 2005, 16:07
Location: Auckland, NZ

#100 Post by Jesse »

otropogo wrote:Jesse, while I appreciate your effort, I'm very much afraid this information requires more than my very limited understanding of Linux to apply.

I would note, however, that the Puppy 3.01 Retro, which generated my probe results, runs with Linux Kernel 2.6.18, whereras the modules you cite above are for Kernel 2.6.25.
Hi otropogo,
Ok, actually that makes things a bit simpler. I have Puppy (2.13) as my main system, which is using a 2.6.18.1 Kernel. The driver names and dependancies havn't changed for yenta_socket and rsrc_nonstatic.
I had a look at the Puppy Linux boot hints (more /initrd/sbin/init) and the Puppy Linux boot hint 'pfix' has this option for booting, relevant to pcmcia:

usbcard) USBCARD="yes";; #boot from pcmcia drive.

So all you really need to do is use a text editor and add "pfix=usbcard" into your kernel boot parameters.

I know that it says 'usb', but your card might have usb internally and just not advertise that fact.

Ok, so, how to setup your kernel boot parameters?

If you've got a file called syslinux.cfg in the root directory.
The contents may be:
default vmlinuz initrd=initrd.gz pmedia=usbflash
Change to:
default vmlinuz initrd=initrd.gz pmedia=usbflash pfix=usbcard

If you're using GRUB, open up the (HD)/boot/grub/menu.lst file:
You may have an entry like this:

title Puppy-4.1 beta (408) pfix=ram (NEW)
rootnoverify (hd0,2)
kernel /408/vmlinuz root=/dev/ram0 ro vga=normal pfix=ram psubdir=408
initrd /408/initrd.gz

Change to:

title Puppy-4.1 beta (408) pfix=ram (NEW)
rootnoverify (hd0,2)
kernel /408/vmlinuz root=/dev/ram0 ro vga=normal pfix=usbcard,ram psubdir=408
initrd /408/initrd.gz

The basic idea is to find the boot config file and the kernel load line and add in pfix=usbcard. Its usually a small file, less than 1000 bytes or so. The kernel file is usually called 'vmlinuz' with Puppy Linux.

Okies, best of luck in getting it going.

Regards
Jesse

otropogo

#101 Post by otropogo »

Jesse wrote:...
I had a look at the Puppy Linux boot hints (more /initrd/sbin/init) and the Puppy Linux boot hint 'pfix' has this option for booting, relevant to pcmcia:

usbcard) USBCARD="yes";; #boot from pcmcia drive.

So all you really need to do is use a text editor and add "pfix=usbcard" into your kernel boot parameters.

I know that it says 'usb', but your card might have usb internally and just not advertise that fact.
Well, there are USB controllers, but USB support fails, thanks to the brain-dead BIOS provided by the arrogant twits at Panasonic (or as Aitch says, the "Good Folks at Matsushita Industries"), which fails to assign an IRQ.

So I'm afraid your project is a lost cause on my CF-25 Toughbook. But I'm willing to give it a shot.
Ok, so, how to setup your kernel boot parameters?

If you've got a file called syslinux.cfg in the root directory.
I can't see one.
...
If you're using GRUB, open up the (HD)/boot/grub/menu.lst file:
Grub won't work on my frugal install.

I'm using a batch file with a script provided by Crash to boot Puppy 3.01 Retro from DOS:

Code: Select all

LINLD.COM image=vmlinuz initrd=initrd.gz "cl=root=/dev/ram0 PMEDIA=idehd acpi=on"
The basic idea is to find the boot config file and the kernel load line and add in pfix=usbcard. Its usually a small file, less than 1000 bytes or so. The kernel file is usually called 'vmlinuz' with Puppy Linux.

Okies, best of luck in getting it going.

Regards
Jesse
looks like this needs a bit more handholding...

User avatar
erikson
Posts: 735
Joined: Wed 27 Feb 2008, 09:22
Location: Ghent, Belgium
Contact:

#102 Post by erikson »

Jesse wrote:
otropogo wrote:(...) I would note, however, that the Puppy 3.01 Retro, which generated my probe results, runs with Linux Kernel 2.6.18, whereras the modules you cite above are for Kernel 2.6.25.
Ok, actually that makes things a bit simpler. I have Puppy (2.13) as my main system, which is using a 2.6.18.1 Kernel. The driver names and dependancies havn't changed for yenta_socket and rsrc_nonstatic.
I had a look at the Puppy Linux boot hints (more /initrd/sbin/init) and the Puppy Linux boot hint 'pfix' has this option for booting, relevant to pcmcia:

usbcard) USBCARD="yes";; #boot from pcmcia drive.

So all you really need to do is use a text editor and add "pfix=usbcard" into your kernel boot parameters.
I'm following the discussion with interest.

Regarding versions 3.01 and 3.01 retro (I checked both): the usbcard boot hint is *not* supported. The drivers yenta_socket and rsrc_nonstatic are present in initrd.gz but are *not* modprobed in init. Thus for these versions it won't be possible to boot off pcmcia. You'll end up with pup_301.sfs not found.
[size=84][i]If it ain't broke, don't fix it.[/i] --- erikson
hp/compaq nx9030 (1.6GHz/480MB/37.2GB), ADSL, Linksys wireless router
[url]http://www.desonville.net/[/url]
Puppy page: [url]http://www.desonville.net/en/joere.puppy.htm[/url][/size]

Jesse
Posts: 466
Joined: Sun 08 May 2005, 16:07
Location: Auckland, NZ

#103 Post by Jesse »

otropogo wrote:I'm using a batch file with a script provided by Crash to boot Puppy 3.01 Retro from DOS:

Code: Select all

LINLD.COM image=vmlinuz initrd=initrd.gz "cl=root=/dev/ram0 PMEDIA=idehd acpi=on"
Ok, looks like the kernel boot commands are in that quoted string, add in pfix like so:

LINLD.COM image=vmlinuz initrd=initrd.gz "cl=root=/dev/ram0 PMEDIA=idehd acpi=on pfix=usbcard"

erikson says that the modules are not modprobed, which is quite true, the hint pfix=usbcard gets the drivers loaded regardless because it uses the "zcat ... | insmod - " method, which is probably used for some technical reason that currently eludes me.
So give it a go :)

Jesse

otropogo

#104 Post by otropogo »

Jesse wrote:...

Code: Select all

LINLD.COM image=vmlinuz initrd=initrd.gz "cl=root=/dev/ram0 PMEDIA=idehd acpi=on"
Ok, looks like the kernel boot commands are in that quoted string, add in pfix like so:

Code: Select all

LINLD.COM image=vmlinuz initrd=initrd.gz "cl=root=/dev/ram0 PMEDIA=idehd acpi=on pfix=usbcard
No, that just loaded the 3.01sfs file from the hard drive, gave a bunch of cardmanager errors, and Pmount and MUT can't see the CF card in the pcmcia slot.

However, when I enter

Code: Select all

gpccard
in the console, it reports :
Socket 0

empty

Socket 1

ATA/IDE Fixed Disk
Just to be sure my card was inserted properly and working, I then booted into Win98SE, and it's all there as drive D, with all of the Puppy 4.0 files plus the USBflash marker file.

User avatar
erikson
Posts: 735
Joined: Wed 27 Feb 2008, 09:22
Location: Ghent, Belgium
Contact:

#105 Post by erikson »

Jesse wrote:erikson says that the modules are not modprobed, which is quite true, the hint pfix=usbcard gets the drivers loaded regardless because it uses the "zcat ... | insmod - " method, which is probably used for some technical reason that currently eludes me.
I don't know about the zcat insmod method, could you clarify?

I experimented some more, to verify that yenta, even though available in initrd.gz, is not activated, not even with the pfix hint. It may be for some versions, but not for 3.01 as I verified.

First I booted 3.01 normally. Console command lsmod | grep yenta returns yenta_socket and rsrc_nonstatic as should be the case.

I find that these drivers are loaded by /etc/rc.d/rc.modules that is called from /etc/rc.d/rc.sysinit.

My next move is to comment out rc.modules from rc.sysinit and reboot. Command lsmod | yenta returns nothing, as expected.

Then I add the boot hint pfix=usbcard on the kernel line in my grub menu, and reboot again. Command lsmod | yenta still returns nothing.

In other words, the yenta driver is loaded not earlier than from rc.modules, that is contained in pup_xxx.sfs (not in initrd.gz). Hence the chicken-and-egg problem: the driver that would be needed to load pup_xxx.sfs from pcmcia only gets activated after pup_xxx.sfs has been loaded.

I still think it can't work - unless yenta is activated explicitly from init in initrd.gz.

--- Edit: addition

Insofar I understand, the 'pfix' boot hint technique is specific to Puppy, and the pfix parameters are analysed and acted upon in Puppy's init script (in initrd.gz) and nowhere else (i.e. also not in the vmlinuz kernel). In other words, a pfix parameter that is not recognized in init has no effect whatsoever. If someone knows better, pls correct me.
[size=84][i]If it ain't broke, don't fix it.[/i] --- erikson
hp/compaq nx9030 (1.6GHz/480MB/37.2GB), ADSL, Linksys wireless router
[url]http://www.desonville.net/[/url]
Puppy page: [url]http://www.desonville.net/en/joere.puppy.htm[/url][/size]

Jesse
Posts: 466
Joined: Sun 08 May 2005, 16:07
Location: Auckland, NZ

#106 Post by Jesse »

erikson wrote:I don't know about the zcat insmod method, could you clarify?
Heres the exact lines that I was referring to:

Code: Select all

 zcat /lib/modules/${KERNVER}/pcmcia/rsrc_nonstatic.ko.gz | insmod -
 zcat /lib/modules/${KERNVER}/pcmcia/yenta_socket.ko.gz | insmod -
I think these are used as the modprobe call may not know how to unzip before loading.

I think you're right on all your points in your message.

I hadn't come across the gpccard program before, that seems to be an awfully handy tool to be able to determine if pcmcia disk boot drivers would be needed during the init script.

Does any of the more recent Puppy editions boot via the pcmcia? like 4.1rc1? If it does maybe we can copy the bits out of that initrd.gz and put them into your 3.01 initrd.gz. I know how to do that sort of thing, but figuring it all out from scratch would be very tricky as I don't have a computer with pcmcia.

Regards
Jesse

User avatar
erikson
Posts: 735
Joined: Wed 27 Feb 2008, 09:22
Location: Ghent, Belgium
Contact:

#107 Post by erikson »

Jesse wrote:I think these (zcat | insmod) are used as the modprobe call may not know how to unzip before loading.
Ah, okay. Actually, in 3.01, the compressed modules from initrd.gz are decompressed in rc.modules (i.e. too "late" for booting off pcmcia).
Does any of the more recent Puppy editions boot via the pcmcia? like 4.1rc1?
I don't know.
If it does maybe we can copy the bits out of that initrd.gz and put them into your 3.01 initrd.gz. I know how to do that sort of thing, but figuring it all out from scratch would be very tricky as I don't have a computer with pcmcia.
I'm thinking along the same lines.

My laptop does have pcmcia but I'm not inclined to invest in pcmcia SD or CF cards myself; I'm running Puppy off my usb hdd and/or my usb pendrive. I might experiment if ever someone sends me some pcmcia stuff to play with ;-)

---

BTW are you the jesse credited for elspci in rc.modules? Barry has included this usb support code also in initrd.gz such that Puppy perfectly boots off my usb devices :-)
[size=84][i]If it ain't broke, don't fix it.[/i] --- erikson
hp/compaq nx9030 (1.6GHz/480MB/37.2GB), ADSL, Linksys wireless router
[url]http://www.desonville.net/[/url]
Puppy page: [url]http://www.desonville.net/en/joere.puppy.htm[/url][/size]

Jesse
Posts: 466
Joined: Sun 08 May 2005, 16:07
Location: Auckland, NZ

#108 Post by Jesse »

erikson wrote:BTW are you the jesse credited for elspci in rc.modules? Barry has included this usb support code also in initrd.gz such that Puppy perfectly boots off my usb devices :-)
Yeah I wrote that ages ago, a fun little util. The original lspci didn't (easilly) print out the subclass field, which is how to easilly distinguish between which usb host controller driver to load. I'm glad that its working out well :)
Regards
Jesse

User avatar
erikson
Posts: 735
Joined: Wed 27 Feb 2008, 09:22
Location: Ghent, Belgium
Contact:

#109 Post by erikson »

GREAT NEWS

In the latest version of the init script (4.1-rc-409-k2.6.25.16), I find following code snippet:

Code: Select all

#v403 pcmcia drive support. i think this may need extra delay though...
[ "`elspci -l | grep '060700'`" != "" ] && modprobe yenta_socket
#...may have to add on a couple of seconds, need to test with a pcmcia drive.
So, otropogo et al, help Barry with alpha/beta testing. Please try booting frugal Puppy off pcmcia card with a Puppy version 4.03 or later, and report.

The bad news, for me, is that my external usb hdd doesn't boot with this version (the dreaded pup_409.sfs not found). I'm checking why.
[size=84][i]If it ain't broke, don't fix it.[/i] --- erikson
hp/compaq nx9030 (1.6GHz/480MB/37.2GB), ADSL, Linksys wireless router
[url]http://www.desonville.net/[/url]
Puppy page: [url]http://www.desonville.net/en/joere.puppy.htm[/url][/size]

otropogo

#110 Post by otropogo »

erikson wrote:..
So, otropogo et al, help Barry with alpha/beta testing. Please try booting frugal Puppy off pcmcia card with a Puppy version 4.03 or later, and report....
I'd like to, but I'm not sure exactly how to boot it.

I guess I can download the ISO, open it up with Isomaster (although I've never tried this before), and copy the files to a flash card to insert in the laptop. But then what?

Right now, my only means of booting Puppy is via the dos script I mentioned previously. Can you tell me how to modify that to boot from the pcmcia slot, or is Wakepup2 now able to do that?

Post Reply