Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re^6: Help with Lorcon XS library

by Bpl (Scribe)
on Jul 21, 2020 at 12:13 UTC ( [id://11119592]=note: print w/replies, xml ) Need Help??


in reply to Re^5: Help with Lorcon XS library
in thread Help with Lorcon XS library

Hi the output of the
lorcon_lsit_driver is: $VAR1 = [ { 'name' => 'rtfile', 'details' => 'Real-time PCAP file source' }, { 'details' => 'PCAP file source', 'name' => 'file' }, { 'name' => 'madwifing', 'details' => 'Linux madwifi-ng drivers, deprecated by ath5 +k and ath9k' }, { 'name' => 'tuntap', 'details' => 'Linux tuntap virtual interface drivers' } ];
I have already tried if I use:
print Net::Lorcon2::lorcon_create("wlo1", $driver); #where $driver c +an be madwifing or other it says: Net::Lorcon2::lorcon_create: driver is not a reference at -e line 3.
and if I do
print Net::Lorcon2::lorcon_create("wlo1", \$driver); #where $driver + can be madwifing or other it says segmentation error (core dump created)
Regards. Edoardo

Replies are listed 'Best First'.
Re^7: Help with Lorcon XS library
by syphilis (Archbishop) on Jul 21, 2020 at 12:38 UTC
    print Net::Lorcon2::lorcon_create("wlo1", $driver); #where $driver c +an be madwifing or other it says: Net::Lorcon2::lorcon_create: driver is not a reference at -e line 3.


    Yes - you should not do that.
    As the error message says $driver is not a reference.

    print Net::Lorcon2::lorcon_create("wlo1", \$driver); #where $driver + can be madwifing or other it says segmentation error (core dump created)


    Yes - you should not do that either. At least, this time you have passed something that is a reference.
    But it's not a reference to the right thing, and therefore causes a segfault.

    As I said in my first post, the correct thing to do would be:
    my $driver = "madwifing"; my $if = "wlo1"; my $drv = lorcon_find_driver($driver); if (! $drv) { print STDERR "[-] Unable to find DRV for [$driver]\n"; exit 1; } my $lorcon = lorcon_create($if, $drv); if (! $lorcon) { print STDERR "[-] lorcon_create failed\n"; exit 1; }
    What happens if you do that ?
    In view of what marto dug up, it may not work either - but it's at least worth a try.

    Cheers,
    Rob
      Hi! Many thanks, now it works, It is pretty strange but I think that the problem was related to the string passed as $driver and not to the XS code, WOW i am so happy, would you like to be thanked in the page of metacpan? under the voice HERO of the module. still many thanks, Regards Edoardo M

        If PerlMonks helped you by bringing you into contact with knowledgeable people, please consider showing your gratitude by stopping by the Offering Plate on your way out. :)


        Give a man a fish:  <%-{-{-{-<

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11119592]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (4)
As of 2024-04-25 15:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found