Hi!Sorry, will violate that once again (this is preview, not for commiting, so perhaps you can forgive me :-). Which this, I'm able to connect to my access point and ping, without ifconfig-ing the original interface up. Only softmac interface is active. I don't believe rewrite like that is a good idea. My plan is: 1) remove duplicate 802.11 stack, making sure it still works as I progress. (at this point I have pretty small driver -- like 2000 lines -- but it will be ugly) 2) either clean that one up, or rewrite it; making sure it still works in the process. (at this point we have mergeable driver) Pavel diff --git a/drivers/net/wireless/winbond/winbondport/linux/wbusb.c b/drivers/net/wireless/winbond/winbondport/linux/wbusb.c index de30a56..d128fc1 100644 --- a/drivers/net/wireless/winbond/winbondport/linux/wbusb.c +++ b/drivers/net/wireless/winbond/winbondport/linux/wbusb.c @@ -126,6 +126,31 @@ static int wbsoft_start(struct ieee80211 static int wbsoft_config(struct ieee80211_hw *dev, struct ieee80211_conf *conf) { printk("wbsoft_config called\n"); + + ChanInfo ch; + + ch.band = 1; + ch.ChanNo = 1; /* Should use channel_num, or something, as that is already pre-translated */ + + + hal_set_current_channel(&my_adapter->sHwData, ch); + hal_set_beacon_period(&my_adapter->sHwData, conf->beacon_int); +// hal_set_cap_info(&my_adapter->sHwData, ?? ); +// hal_set_ssid(phw_data_t pHwData, PUCHAR pssid, u8 ssid_len); ?? + hal_set_accept_broadcast(&my_adapter->sHwData, 1); + hal_set_accept_promiscuous(&my_adapter->sHwData, 1); + hal_set_accept_multicast(&my_adapter->sHwData, 1); + hal_set_accept_beacon(&my_adapter->sHwData, 1); + hal_set_radio_mode(&my_adapter->sHwData, 0); + //hal_set_antenna_number( phw_data_t pHwData, u8 number ) + //hal_set_rf_power(phw_data_t pHwData, u8 PowerIndex) + + +// hal_start_bss(&my_adapter->sHwData, WLAN_BSSTYPE_INFRASTRUCTURE); ?? + +//void hal_set_rates(phw_data_t pHwData, PUCHAR pbss_rates, +// u8 length, unsigned char basic_rate_set) + return 0; } @@ -155,6 +180,7 @@ static const struct ieee80211_ops wbsoft .get_stats = wbsoft_nop, .get_tx_stats = wbsoft_nop, .get_tsf = wbsoft_get_tsf, +// conf_tx: hal_set_cwmin()/hal_set_cwmax; }; struct wbsoft_priv { diff --git a/drivers/net/wireless/winbond/winbondport/wbhal.c b/drivers/net/wireless/winbond/winbondport/wbhal.c index 6599538..0177bc0 100644 --- a/drivers/net/wireless/winbond/winbondport/wbhal.c +++ b/drivers/net/wireless/winbond/winbondport/wbhal.c @@ -418,7 +418,7 @@ u8 hal_init_hardware(phw_data_t pHwData, } -void hal_halt( phw_data_t pHwData, void *ppa_data) +void hal_halt(phw_data_t pHwData, void *ppa_data) { switch( pHwData->InitialResource ) { @@ -500,7 +500,7 @@ void hal_set_slot_time( phw_data_t pHwDa } //--------------------------------------------------------------------------------------------------- void hal_set_rates(phw_data_t pHwData, PUCHAR pbss_rates, - u8 length, unsigned char basic_rate_set ) + u8 length, unsigned char basic_rate_set) { PWB35REG pWb35Reg = &pHwData->Wb35Reg; u32 tmp, tmp1; @@ -765,6 +765,8 @@ void hal_set_current_channel_ex( phw_da if( pHwData->SurpriseRemove ) return; + printk("Going to channel: %d/%d\n", channel.band, channel.ChanNo); + RFSynthesizer_SwitchingChannel( pHwData, channel );// Switch channel pHwData->Channel = channel.ChanNo; pHwData->band = channel.band; diff --git a/drivers/net/wireless/winbond/winbondport/wblinux.c b/drivers/net/wireless/winbond/winbondport/wblinux.c index 0b0b200..ebe8dbe 100644 --- a/drivers/net/wireless/winbond/winbondport/wblinux.c +++ b/drivers/net/wireless/winbond/winbondport/wblinux.c @@ -416,7 +416,7 @@ #endif Adapter->sLocalPara.ShutDowned = FALSE; //added by ws for wep key error detection - Adapter->sLocalPara.bWepKeyError= FALSE;//added by ws 02/02/04 + Adapter->sLocalPara.bWepKeyError= FALSE; Adapter->sLocalPara.bToSelfPacketReceived = FALSE; Adapter->sLocalPara.WepKeyDetectTimerCount= 2 * 100; /// 2 seconds @@ -534,7 +534,7 @@ #endif } // 20060802 -void WBLINUX_ConnectStatus( PADAPTER Adapter, u32 flag ) +void WBLINUX_ConnectStatus(PADAPTER Adapter, u32 flag) { PWBLINUX pWbLinux = &Adapter->WbLinux; -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html --
git: | |
| Linus Torvalds | irc usage.. |
| Petko Manolov | git and binary files |
| Ken Pratt | pack operation is thrashing my server |
| Daniel Barkalow | Re: Call Me Gitless |
| Carsten Otte | Re: [PATCH 00/10] AXFS: Advanced XIP filesystem |
| David Miller | Slow DOWN, please!!! |
| Alan Cox | Re: ata_piix broken in 2.6.22 |
| Linus Torvalds | Linux 2.6.27-rc8 |
| Chris Kuethe | Re: Logging failed SSH users and the passwords they typed |
| Richard Stallman | Real men don't attack straw men |
| Leon Dippenaar | New tcp stack attack |
| nachocheeze | Re: Packets Per Second Limit? |
| Patrick McHardy | netfilter 05/29: netns ebtables: part 2 |
| Tomasz Grobelny | Re: [DCCP] [RFC] [Patchv2 1/1]: Queuing policies -- reworked version of Tomasz's p... |
| Suresh Siddha | Re: Kernel oops with 2.6.26, padlock and ipsec: probably problem with fpu state ch... |
| Eric Dumazet | [PATCH] fs: pipe/sockets/anon dentries should not have a parent |
