Mario E Mira 写道:
Hello Forum,
            HELP HELP HELP HELP HELP
I have post several times the scanpci output in this forum hoping to get some help in getting to work my laptop with OpenSolaris but so far I have had but just one reply which I was asked to post the scanpci output.
Would anyone point me to the correct forum I really would like to get it 
running because wireless is what I run at home to connect to my Solaris server 
and really want to use OpenSolaris for my laptop. I hope I can get some help 
with this before I give linux a try.  Thank you very much.
This message posted from opensolaris.org
_______________________________________________
networking-discuss mailing list
[email protected]
Mario,

I read the emails you sent before, and it seems you have already made the ath driver attached and plumbed. Now we first verify if the ath works with the command line config tool -- wificonfig.

1. #prtconf -D|grep ath to see the instance of the driver attached to the atheros wifi chip.

2. #ifconfig ath0 plumb (if the preceding step show the instance is other than 0, saying 1, use ath1 instead)
   if the output show 'ath0: already exists', just ignore it and go on.

3. #wificonfig -i ath0 scan
if you are running snv_54+, pls run the attached dtrace scripts to see more info about your AP. #./scan.d ----run in another terminal when you run 'wificonfig -i ath0 scan'

4. #wificonfig createprofile /profile_name/ essid=your_essid encryption=wep wepkey1=***** create a profile to depicts your ap and connect with the profile afterwards. Note: if your AP is configurated as shared_key authentication mode, then add 'authmode=shared_key' when you create the profile. If wepkey index of your AP is configurated as value other than 1, use the correct number, like wepkey2=*****. The wepkey itself is the same as what is set in the AP, and the format is 5 ASCII or 10 hex for 40bit wep, 13 ASCII or 26 hex for 128bit wep.

5. #wificonfig -i ath0 connect /profile_name/
if you are running snv_54+, pls run the attached dtrace scripts to see info about the connect process. #./connect.d ----run in another terminal when you run 'wificonfig -i ath0 connect /profile_name/'

6. if [5] succeed, then you can try to get a DHCP address.
   #ifconfig ath0 dhcp

If you end up running step 1-6 successfully, then the wifi driver works fine, and there should be something wrong with the configuration of the inetmenu(you seem using inetmenu), we should focus on it, otherwise, pls send me the output of the error messages you encounter.

Thanks,
Brian
#!/usr/sbin/dtrace -s
#pragma D option quiet
fbt:net80211:ieee80211_send_mgmt:entry
/args[2] == 0xb0/
{
	self->seqNo = args[3];
}
fbt:net80211:ieee80211_mgmt_output:entry
/args[3] == 0xb0/
{
	printf("====================authentication request frame begin=========================\n");
	printf("da = %02x:%02x:%02x:%02x:%02x:%02x.     ",
	    args[1]->in_macaddr[0],
	    args[1]->in_macaddr[1],
	    args[1]->in_macaddr[2],
	    args[1]->in_macaddr[3],
	    args[1]->in_macaddr[4],
	    args[1]->in_macaddr[5]);
	printf("sa = %02x:%02x:%02x:%02x:%02x:%02x\n",
	    args[0]->ic_macaddr[0],
	    args[0]->ic_macaddr[1],
	    args[0]->ic_macaddr[2],
	    args[0]->ic_macaddr[3],
	    args[0]->ic_macaddr[4],
	    args[0]->ic_macaddr[5]);
	printf("bssid = %02x:%02x:%02x:%02x:%02x:%02x\n",
	    args[1]->in_bssid[0],
	    args[1]->in_bssid[1],
	    args[1]->in_bssid[2],
	    args[1]->in_bssid[3],
	    args[1]->in_bssid[4],
	    args[1]->in_bssid[5]);
	printf("essid = %.*s\n", args[1]->in_esslen,
	    stringof(args[1]->in_essid));
	self->out_authmode = *(uint16_t *)((struct ieee80211_frame *)(args[2]->b_rptr) + 1);
}
fbt:net80211:ieee80211_mgmt_output:entry
/args[3] == 0xb0 && self->out_authmode == 1/
{
	printf("auth mode = shared_key\n");
}
fbt:net80211:ieee80211_mgmt_output:entry
/args[3] == 0xb0 && self->out_authmode == 0/
{
	printf("auth mode = open\n");
}
fbt:net80211:ieee80211_mgmt_output:entry
/args[3] == 0xb0/
{
	printf("auth seq No = 0x%d\n", self->seqNo);
	printf("====================authentication request frame end====================\n");
}
fbt:net80211:ieee80211_mgmt_output:entry
/args[3] == 0x00/
{
	printf("====================association request frame begin=====================\n");
	printf("da = %02x:%02x:%02x:%02x:%02x:%02x.     ",
	    args[1]->in_macaddr[0],
	    args[1]->in_macaddr[1],
	    args[1]->in_macaddr[2],
	    args[1]->in_macaddr[3],
	    args[1]->in_macaddr[4],
	    args[1]->in_macaddr[5]);
	printf("sa = %02x:%02x:%02x:%02x:%02x:%02x\n",
	    args[0]->ic_macaddr[0],
	    args[0]->ic_macaddr[1],
	    args[0]->ic_macaddr[2],
	    args[0]->ic_macaddr[3],
	    args[0]->ic_macaddr[4],
	    args[0]->ic_macaddr[5]);
	printf("bssid = %02x:%02x:%02x:%02x:%02x:%02x\n",
	    args[1]->in_bssid[0],
	    args[1]->in_bssid[1],
	    args[1]->in_bssid[2],
	    args[1]->in_bssid[3],
	    args[1]->in_bssid[4],
	    args[1]->in_bssid[5]);
	printf("essid = %.*s\n", args[1]->in_esslen,
	    stringof(args[1]->in_essid));
	self->out_capinfo = *(uint16_t *)((struct ieee80211_frame *)(args[2]->b_rptr) + 1);
	printf("capability info = 0x%x\n", self->out_capinfo);
}
fbt:net80211:ieee80211_mgmt_output:entry
/args[3] == 0x00 && self->out_capinfo & 0x1/
{
	printf("    bit 0: AP\n");
}
fbt:net80211:ieee80211_mgmt_output:entry
/args[3] == 0x00 && self->out_capinfo & 0x2/
{
	printf("    bit 1: ibss\n");
}
fbt:net80211:ieee80211_mgmt_output:entry
/args[3] == 0x00 && self->out_capinfo & 0x4/
{
	printf("    bit 2: CF pollable\n");
}
fbt:net80211:ieee80211_mgmt_output:entry
/args[3] == 0x00 && self->out_capinfo & 0x8/
{
	printf("    bit 3: CF poll request\n");
}
fbt:net80211:ieee80211_mgmt_output:entry
/args[3] == 0x00 && self->out_capinfo & 0x10/
{
	printf("    bit 4: wep\n");
}
fbt:net80211:ieee80211_mgmt_output:entry
/args[3] == 0x00 && self->out_capinfo & 0x20/
{
	printf("    bit 5: short preamble\n");
}
fbt:net80211:ieee80211_mgmt_output:entry
/args[3] == 0x00 && self->out_capinfo & 0x40/
{
	printf("    bit 6: PBCC\n");
}
fbt:net80211:ieee80211_mgmt_output:entry
/args[3] == 0x00 && self->out_capinfo & 0x80/
{
	printf("    bit 7: channel agility\n");
}
fbt:net80211:ieee80211_mgmt_output:entry
/args[3] == 0x00 && self->out_capinfo & 0x400/
{
	printf("    bit 10: short slot time\n");
}
fbt:net80211:ieee80211_mgmt_output:entry
/args[3] == 0x00 && self->out_capinfo & 0x800/
{
	printf("    bit 11: rsn\n");
}
fbt:net80211:ieee80211_mgmt_output:entry
/args[3] == 0x00 && self->out_capinfo & 0x2000/
{
	printf("    bit 13: dsss-ofdm\n");
}
fbt:net80211:ieee80211_mgmt_output:entry
/args[3] == 0x00/
{
	printf("====================association request frame end=======================\n");
}
fbt:net80211:ieee80211_recv_mgmt:entry
/args[3] == 0xb0/
{
	printf("====================authentication response frame begin=================\n");
	printf("da = %02x:%02x:%02x:%02x:%02x:%02x.     ",
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr1[0],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr1[1],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr1[2],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr1[3],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr1[4],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr1[5]);
	printf("sa = %02x:%02x:%02x:%02x:%02x:%02x\n",
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr2[0],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr2[1],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr2[2],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr2[3],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr2[4],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr2[5]);
	printf("bssid = %02x:%02x:%02x:%02x:%02x:%02x\n",
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr3[0],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr3[1],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr3[2],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr3[3],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr3[4],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr3[5]);
	printf("auth seq No = 0x%x\n",
	    *((uint16_t *)((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr) + 1) + 1));
	printf("status code = 0x%x\n",
	    *((uint16_t *)((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr) + 1) + 2));
	printf("====================authentication request frame end====================\n");
}

fbt:net80211:ieee80211_recv_mgmt:entry
/args[3] == 0x10/
{
	printf("====================association response frame begin====================\n");
	printf("da = %02x:%02x:%02x:%02x:%02x:%02x.     ",
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr1[0],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr1[1],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr1[2],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr1[3],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr1[4],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr1[5]);
	printf("sa = %02x:%02x:%02x:%02x:%02x:%02x\n",
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr2[0],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr2[1],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr2[2],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr2[3],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr2[4],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr2[5]);
	printf("bssid = %02x:%02x:%02x:%02x:%02x:%02x\n",
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr3[0],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr3[1],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr3[2],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr3[3],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr3[4],
	    ((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr))->i_addr3[5]);
	printf("status code = 0x%x\n",
	    *((uint16_t *)((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr) + 1) + 1));
	printf("association ID = 0x%x\n",
	    *((uint16_t *)((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr) + 1) + 2) & 0x3fff);
	self->in_capinfo = *(uint16_t *)((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr) + 1);
	printf("capability info = 0x%x\n", self->in_capinfo);
}
fbt:net80211:ieee80211_recv_mgmt:entry
/args[3] == 0x10 && self->in_capinfo & 0x1/
{
	printf("    bit 0: AP\n");
}
fbt:net80211:ieee80211_recv_mgmt:entry
/args[3] == 0x10 && self->in_capinfo & 0x2/
{
	printf("    bit 1: ibss\n");
}
fbt:net80211:ieee80211_recv_mgmt:entry
/args[3] == 0x10 && self->in_capinfo & 0x4/
{
	printf("    bit 2: CF pollable\n");
}
fbt:net80211:ieee80211_recv_mgmt:entry
/args[3] == 0x10 && self->in_capinfo & 0x8/
{
	printf("    bit 3: CF poll request\n");
}
fbt:net80211:ieee80211_recv_mgmt:entry
/args[3] == 0x10 && self->in_capinfo & 0x10/
{
	printf("    bit 4: wep\n");
}
fbt:net80211:ieee80211_recv_mgmt:entry
/args[3] == 0x10 && self->in_capinfo & 0x20/
{
	printf("    bit 5: short preamble\n");
}
fbt:net80211:ieee80211_recv_mgmt:entry
/args[3] == 0x10 && self->in_capinfo & 0x40/
{
	printf("    bit 6: PBCC\n");
}
fbt:net80211:ieee80211_recv_mgmt:entry
/args[3] == 0x10 && self->in_capinfo & 0x80/
{
	printf("    bit 7: channel agility\n");
}
fbt:net80211:ieee80211_recv_mgmt:entry
/args[3] == 0x10 && self->in_capinfo & 0x400/
{
	printf("    bit 10: short slot time\n");
}
fbt:net80211:ieee80211_recv_mgmt:entry
/args[3] == 0x10 && self->in_capinfo & 0x800/
{
	printf("    bit 11: rsn\n");
}
fbt:net80211:ieee80211_recv_mgmt:entry
/args[3] == 0x10 && self->in_capinfo & 0x2000/
{
	printf("    bit 13: dsss-ofdm\n");
}
fbt:net80211:ieee80211_recv_mgmt:entry
/args[3] == 0x10/
{
	printf("====================association response frame end======================\n");
}
/*
fbt:net80211:ieee80211_recv_mgmt:entry
/args[3] == 0x10 && *((uint16_t *)((struct ieee80211_frame *)((mblk_t *)args[1]->b_rptr) + 1) + 1) == 0/
{
	printf("connected successfully!\n");
	exit(0);
}
*/
#!/usr/sbin/dtrace -s
#pragma D option quiet
fbt:net80211:ieee80211_add_scan:entry
{
	printf("==========================================================\n");
	printf("essid = %.*s\n", args[1]->ssid[1], stringof(args[1]->ssid + 2));
	printf("sa = %02x:%02x:%02x:%02x:%02x:%02x.     ",
	    args[2]->i_addr2[0],
	    args[2]->i_addr2[1],
	    args[2]->i_addr2[2],
	    args[2]->i_addr2[3],
	    args[2]->i_addr2[4],
	    args[2]->i_addr2[5]);
	printf("bssid = %02x:%02x:%02x:%02x:%02x:%02x\n",
	    args[2]->i_addr3[0],
	    args[2]->i_addr3[1],
	    args[2]->i_addr3[2],
	    args[2]->i_addr3[3],
	    args[2]->i_addr3[4],
	    args[2]->i_addr3[5]);
	printf("channel: %d\n", args[1]->chan);
	printf("erp: %x\n", args[1]->erp);
	printf("basic rates quantity: %x:   ", args[1]->rates[1]);
	printf("%dM, %dM ...\n",
	    (args[1]->rates[2] & 0x7f)/2,
	    (args[1]->rates[3] & 0x7f)/2);
}
fbt:net80211:ieee80211_add_scan:entry
/args[1]->xrates/
{
	printf("extended rates quantity: %x:   ", args[1]->xrates[1]);
	printf("%dM, %dM ...\n",
	    (args[1]->xrates[2])/2,
	    (args[1]->xrates[2])/2);
}
fbt:net80211:ieee80211_add_scan:entry
{
	printf("capability info: 0x%04x\n", args[1]->capinfo);
}
fbt:net80211:ieee80211_add_scan:entry
/((struct ieee80211_scanparams *)args[1])->capinfo & 0x1/
{
	printf("    bit 0: AP\n");
}
fbt:net80211:ieee80211_add_scan:entry
/((struct ieee80211_scanparams *)args[1])->capinfo & 0x2/
{
	printf("    bit 1: ibss\n");
}
fbt:net80211:ieee80211_add_scan:entry
/args[1]->capinfo & 0x4/
{
	printf("    bit 2: CF pollable\n");
}
fbt:net80211:ieee80211_add_scan:entry
/args[1]->capinfo & 0x8/
{
	printf("    bit 3: CF poll request\n");
}
fbt:net80211:ieee80211_add_scan:entry
/args[1]->capinfo & 0x10/
{
	printf("    bit 4: wep\n");
}
fbt:net80211:ieee80211_add_scan:entry
/args[1]->capinfo & 0x20/
{
	printf("    bit 5: short preamble\n");
}
fbt:net80211:ieee80211_add_scan:entry
/args[1]->capinfo & 0x40/
{
	printf("    bit 6: PBCC\n");
}
fbt:net80211:ieee80211_add_scan:entry
/args[1]->capinfo & 0x80/
{
	printf("    bit 7: channel agility\n");
}
fbt:net80211:ieee80211_add_scan:entry
/args[1]->capinfo & 0x400/
{
	printf("    bit 10: short slot time\n");
}
fbt:net80211:ieee80211_add_scan:entry
/args[1]->capinfo & 0x800/
{
	printf("    bit 11: rsn\n");
}
fbt:net80211:ieee80211_add_scan:entry
/args[1]->capinfo & 0x2000/
{
	printf("    bit 13: dsss-ofdm\n");
}
fbt:net80211:ieee80211_add_scan:return
{
	printf("==========================================================\n");
}
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to