- Technicolor Mac Address Filtering Devices
- Technicolor Mac Address Filtering On Hp Printer
- Mac Address Filtering 2wire
The Technicolor EPC3928AD residential wireless cable gateway with digital voice is a high-performance home gateway that combines a cable modem, digital voice adapter, router, and dual-band concurrent IEEE 802.11n 2.4 and 5 GHz. MAC address filtering Networking Routing modes Transparent bridging Routed modes Multiple client support 32 (briged. 4.3 Prevent devices from accessing your wireless network MAC address A MAC (Media Access Control) address is a unique hexadecimal code that identifies a device on a network. Each network-enabled device has at least one unique MAC address.
Tested on a TG587n V2 but may work on other Thomson routers
Important
Use the routers web interface to backup the router settings beforeplaying.
Reinstallingthe backup or in the worst case resetting to factory default andreinstalling the backup should get things back to how they were.
Use these commands at your own risk.
Enable Telnet in Vistaor Windows 7
If using Vista or Windows 7, telnetis not enabled by default but it's very easy to do and you only need dothis once.
Go to “Control Panel” > “Programs and Features” >click on “Turn windowsFeatures On and Off”> place a tick in “Telnet Client” > click ok.
Click on 'start' in the bottom left corner of the desk top, inthe search box (vista) or run box (windows xp) type commandthen press enter.
A black command window should pop up, in heretype telnet192.168.1.254
You will be asked for your routers username and then password,it’s the same ones used to access the routers web interface.
The first thing to do is disable the routers telnet timeout.
This prevents the telnet session unexpectedly closing.
Just enter the two commands as shown above to permanently disable thetimeout.
Telnetexample
This example displays the IP address of the DNS resolvers held in therouter.
Issue thecommand 'dns serverroute list'
Make a note of the interface shown here, it will be needed insome other commands on this page.
eg. the interface shown above isO2_ADSL2plusthis may not be the same as shown by your router.
Setthe router to use OpenDNS--R8 Firmware
Command | Comments |
---|---|
dnsserver route list | List all DNS resolvers set in the router. ( optional ) |
dnsserver route flush | Clear |
dnsserver route add dns=208.67.222.222 metric=0 intf=Internet | Seenote (1) below regarding 'intf=Internet' |
dnsserver route add dns=208.67.220.220 metric=0 intf=Internet | Seenote (1) below regarding 'intf=Internet' |
dnsserver route list | Listall DNS resolvers set in the router. (just checking) |
saveall | Makethe change permanent. |
The ISP DNS settings may creep back in over time.
A metric value of 0 has been used to give these new DNS settingspriority over any ISP settings.
eg the lower the metric the higher the priority.
Telnet scriptdownload to configure the DNS setting for R8 and R10 firmware
http://npr.me.uk/dns-script.zip
Undo,return to obtaining DNS resolvers via DHCP
Command | Comments |
dnsserver route flush | Clear |
dnsserver route list | Listall DNS resolvers set in the router. (just checking) |
saveall | Makethe change permanent. |
Setthe router to use OpenDNS--New R10 Firmware
Command | Comments |
---|---|
dnsserver forward dnsset list | List all DNS resolvers set in the router. ( optional ) |
dnsserver forward dnsset flush | Clear |
dnsserver forward dnsset add set=0 dns=208.67.222.222 metric=0intf=Internet | Seenote (1) below regarding 'intf=Internet' |
dnsserver forward dnsset add set=0 dns=208.67.220.220 metric=0intf=Internet | Seenote (1) below regarding 'intf=Internet' |
dnsserver forward dnsset list | Listall DNS resolvers set in the router. (just checking) |
saveall | Makethe change permanent. |
The ISP DNS settings may creep back in over time.
A metric value of 0 has been used to give these new DNS settingspriority over any ISP settings.
eg the lower the metric the higher the priority.
Telnetscript download to configure the DNS setting for R8 and R10 firmware
http://npr.me.uk/dns-script.zip
Undo,return to obtaining DNS resolvers via DHCP
Command | Comments |
dnsserver forward dnsset flush | Clear |
dnsserver forward dnsset list | Listall DNS resolvers set in the router. (just checking) |
saveall | Makethe change permanent. |
UpdateOpenDNS using Dynamic DNS
Command | Comments |
---|---|
dyndnsservice list | Viewexisting settings -- It's the 'custom' section we'll be changing |
dyndnsservice modify name=custom server=updates.dnsomatic.comupdateinterval=10800 | Changeservice provider to dnsomatic.com updateinterval is 3 hours. (10800 seconds) |
saveall | Make the change permanent. |
Ensure your opendns account is set to -- enable dynamic IP update
Go to www.dnsomatic.com , sign in with your OpenDNS username / password.
While there, enable update opendns.
Go to the routers web interface Toolbox > Dynamic DNS >Configure :-
Tick 'Enabled'
Interface -- Internet -- See Note (1)
Username --Opendns username
Password --Opendns password
Service -- custom
Host --enter your opendns network label or enter the catch all -- all.dnsomatic.com
Click 'Apply'
Check the routers event log to confirm 'dyndns host has been updated'.
Disabletelnet timeout
Command | Comments |
---|---|
envget var=SESSIONTIMEOUT | Checkexisting setting. |
envset var=SESSIONTIMEOUT value=0 | Disablesession timeout. |
saveall | Makethe change permanent. |
Getrouter stats
Command | Comments |
xdslinfo expand=enabled | See Telnet Scripting for a method to get these statsquick. |
Forceconnection modulation mode to ADSL1, ADSL2 or ADSL2+ (also disable Annex M)
A useful byproduct of this command is that it causes a resync.
ie resetting the modulation to default (ie no change) can be used toforce the router to perform a resync.
Command | Comments |
---|---|
xdsldebug multimode | Showall enabled modes. (optional) |
xdsl debugmultimode config=t1.413issue2+g992.1_annex_a | Thisforces ADSL1 (ie g992.1 Annex A) |
xdsl debugmultimode config=t1.413issue2+g992.3_annex_a | Thisforces ADSL2 (ie g992.3 Annex A) |
xdsl debugmultimode config=t1.413issue2+g992.5_annex_a | Thisforces ADSL2+ (ie g992.5 Annex A) |
xdsl debugmultimodeconfig=t1.413issue2+g992.1_annex_a+g992.3_annex_a+g992.3_annex_l+g992.5_annex_a | DisableAnnex M on all connection modes |
xdsl debugmultimodeconfig=t1.413issue2+g992.1_annex_a+g992.3_annex_a+g992.3_annex_l+g9 92.3_annex_m+g992.5_annex_a+g992.5_annex_m | Default,all modes available. |
saveall | Useone of the above commands then saveall ! |
Dropand Re-start ADSL (resync)
Command | Comments |
---|---|
xdsl configstatus=down | DropADSL connection |
xdsl configstatus=up | RaiseADSL connection |
Drop/ Start PPP Session
With some ISP connections this may change your gateway it may alsochange your IP address.
Useful if your ISP sometimes has congested gateways.
Command | Comments |
---|---|
ppp ifdetachintf=Internet | DropPPP |
ppp ifattachintf=Internet | ConnectPPP |
DHCPClient Lease Renew
Command | Comments |
---|---|
dhcp clientifrenew intf=Internet | Seenote (1) below regarding 'intf=Internet' |
dhcp clientiflist expand=enabled | Optional-- View DHCP Client Info |
Rebootthe router
Command | Comments |
---|---|
system reboot |
Changerouter password -- I've found thistroublesome using the web interface.
Command | Comments |
---|---|
userconfig name=SuperUser password=mypassword | Mustbe an existing username ie 'SuperUser' or 'Administrator' |
userconfig name=Administrator password=mypassword | |
saveall | Don'tforget this! |
Create username with 'root'privileges.
These two methods don't work with all firmware version.
Method 1
Command | Comments |
---|---|
script addname=useroot command='user add name=me password=pass role=root' | Change'me' and 'pass' for your own username and password. |
script runname=useroot pars=' | Runthe script. |
saveall | Don'tforget this! |
Method 2
Commands | Comments |
---|---|
userflush | Deleteall usernames and passwords |
Exittelnet session and start a new one. | Nousername or password needed. |
useradd name=MyUserName password=MyPassWord role=root defuser=enableddefremadmin=enabled deflocadmin=enabled | ReplaceMyUserName and MyPassWord with ones of your own. |
saveall | Makepermanent. |
Spoofrouters WAN MAC
Command | Comments |
---|---|
ipiflist expand=enabled | Showrouters MAC and other stuff |
ipifdetach intf=Internet | Seenote (1) below regarding 'intf=Internet' |
ipifconfig intf=Internet hwaddr=00:xx:xx:xx:xx:xx | Seenote (1) Replace 'xx' with your spoof MAC |
ipifattach intf=Internet | Seenote (1) below regarding 'intf=Internet' |
saveall | Don'tforget this! |
DisableCWMP -- Remote management by the ISP
Command | Comments |
---|---|
servicesystem list | Showif enabled or disabled. |
servicesystem modify name=CWMP-S state=disabled | Disableremote assistance from the ISP. |
servicesystem modify name=CWMP-C state=disabled | Disablechecking for firmware updates etc 'phone home'. |
saveall | Don't forget this! |
Undo -- Enable CWMP -- default mode
Command | Comments |
---|---|
servicesystem modify name=CWMP-S state=enabled | Returnto default setting |
servicesystem modify name=CWMP-C state=enabled | Returnto default setting |
saveall | Don'tforget this! |
Enablereply to Pings from WAN
Command | Comments |
---|---|
servicesystem list name=PING_RESPONDER expand=enabled | Checkif 'interface group' is associated with WAN (ie enabled) |
servicesystem ifadd name=PING_RESPONDER group=wan | Addto WAN 'interface group' (ie enabled) |
saveall | Don't forget this! |
Undo -- Disable reply to Pings from WAN -- Default mode
Command | Comments |
---|---|
servicesystem ifdelete name=PING_RESPONDER group=wan | RemoveWAN from 'interface group' (ie disabled) -- Default |
saveall | Don'tforget this! |
Disable wireless nspeed--Routers using R8 firmware
Command | Comments |
---|---|
wirelessifconfig | Showwireless settings (optional) |
wirelessifconfig interop=802.11b/g | Disablewireless n |
saveall | Don'tforget this! |
Undo -- Enable all wirelessspeeds
Command | Comments |
---|---|
wirelessifconfig interop=802.11b/g/n | Enablewireless b, g and n -- Default |
saveall | Don'tforget this! |
Disable wireless nspeed--Routers using R10 firmware
Command | Comments |
---|---|
wirelessradio interop=802.11b/g | Disablewireless n |
saveall | Don'tforget this! |
Undo -- Enable all wirelessspeeds
Command | Comments |
---|---|
wirelessradio interop=802.11b/g/n | Enablewireless b, g and n -- Default |
saveall | Don'tforget this! |
Change wireless n speed (TG582n only)
Command | Comments |
---|---|
wirelessradio channelwidth=20 sgi=enabled | WirelessSpeed 144(n) |
wireless radiochannelwidth=20/40 sgi=disabled | WirelessSpeed 270(n) |
wireless radiochannelwidth=20/40 sgi=enabled | WirelessSpeed 300(n) |
wireless radiochannelwidth=20 sgi=disabled | WirelessSpeed 130(n) Default |
saveall | Don'tforget this! |
Whenin 270(n) or 300(n) mode the router is not very good at switching offthe extra channels when not needed or when it may cause interferenceto other wireless access points.
For this reason please use these modes responsibly.
Wireless n tweaks (TG582n only)
Commands | Comments |
---|---|
wirelessradio cdd=enabled | enabled= reduce dead spots in the wireless coverage disabled = default |
wirelessradio stbc=enabled | enabled= Improve signal quality disabled = default http://en.wikipedia.org/wiki/Space%E2%80%93time_block_code |
wirelessradio frameaggregation=ampdu | Improvethroughput by changing type of header. amsdu -- generaly most efficient ampdu -- (Default) Better in environments of high error rates. http://en.wikipedia.org/wiki/Frame_aggregation |
saveall | Don'tforget this! |
ChangeMTU setting
Command | Comments |
---|---|
ip iflist | Showpresent setting (optional) |
ip ifconfigintf=Internet mtu=1458 | Seenote (1) regarding 'intf=Internet' -- Set MTU for WAN |
ip ifconfigintf=LocalNetwork mtu=1458 | SetMTU for LAN |
saveall | Don'tforget this! |
Undo-- Return to default MTU of 1500
Command | Comments |
---|---|
ip ifconfigintf=Internet mtu=1500 | Seenote (1) regarding 'intf=Internet' -- Set 1500 MTU for WAN |
ip ifconfigintf=LocalNetwork mtu=1500 | Set1500 MTU for LAN |
saveall | Don'tforget this! |
Disableethernet port
Command | Comments |
---|---|
eth deviceifconfig intf=ethif1 state=disabled | Disableethernet port 1. (ethif1 = port 1, ethif2 = port 2 etc ) |
saveall | Don'tforget this! |
eth deviceiflist | Liststate of ports (optional) |
Undo-- Enable ethernet port
Command | Comments |
---|---|
eth deviceifconfig intf=ethif1 state=enabled | Enableethernet port 1. ( ethif1= port 1, ethif2 = port 2 etc ) |
saveall | Don'tforget this! |
WirelessMAC access control -- Block a wireless connection
First configure theaccess control list by adding the device you wish to control -- onlyrequired once for each device.
Command | Comments |
---|---|
wirelessmacacl add ssid_id=0 radio_id=0 hwaddr=00:xx:xx:xx:xx:xxpermission=allow | Change'00:xx:xx:xx:xx:xx' to the wireless MAC of the target PC . Only used once for each wireless MAC added to the list. |
saveall |
Use the followingcommands to stop or allow a wireless connection asrequired.
Command | Comments |
---|---|
wirelessmacacl list | Optional-- Display preset wireless MAC's |
wirelessmacacl modify ssid_id=0 radio_id=0 hwaddr=00:xx:xx:xx:xx:xxpermission=deny | Denyconnection from the target PC -- Use when required |
wirelessmacacl modify ssid_id=0 radio_id=0 hwaddr=00:xx:xx:xx:xx:xxpermission=allow | Allowconnection from the target PC -- Use when required |
Undo-- Remove from WirelessMAC access control list
Command | Comments |
---|---|
wirelessmacacl list | Optional -- display MAC address on list |
wirelessmacacl delete ssid_id=0 radio_id=0 hwaddr=00:xx:xx:xx:xx:xx | RemoveMAC from list. |
saveall | Don'tforget this. |
Checkwhich devices are connected
Command | Comments |
---|---|
hostmgr list | Lookin the 'Flags' column, 'C' indicates connected |
EnableWPS -- This is disabled by default on some models.
Command | Comments |
---|---|
wireless wpsconfig state=enabled | TheWPS button should now work |
saveall |
Undo-- Disable WPS
Command | Comments |
---|---|
wireless wpsconfig state=disabled | |
saveall |
Syslog -- This log survives a reboot
Command | Comments |
---|---|
syslogmsgbuf show | Viewrouter log in the telnet window. |
syslogmsgbuf send dest=192.168.1.67 | Sendall the log to syslog client at IP address |
syslogmsgbuf flush | Clearthe log |
ftp://ftp.3com.com/pub/utilbin/win32/3CSyslog.zip Link now dead, a google search will find a suitable syslog client. | Freesyslog client from 3Com |
syslogconfig activate=enabled | Enablecontinuous update to a syslog client. |
syslogruleadd fac=all sev=debug dest=192.168.1.67 | Ruleto send all the log items to syslog client at 192.168.1.67 |
Changethe LAN IP of a Connected Device -- Static DHCP
Command | Comments |
---|---|
dhcpserver lease list | Viewthe pool name and MAC address of the connected device |
dhcp serverlease delete clientid=00:23:4d:xx:xx:xx | Firstdelete the device. clientid= [the MAC address found above] |
dhcpserver lease add clientid=00:23:4d:xx:xx:xx pool=LAN_privateaddr=192.168.1.100 leasetime=0 | clientid= [the MAC address found above] pool = [the pool name found above] addr = [the lan IP you wish to assign - range 192.168.1.65 to 252] leasetime=0 [infinite lease time] |
saveall | Don'tforget this. |
Rebootthe device to obtain the new IP address |
Technicolor Mac Address Filtering Devices
Disablethe Factory Reset Button
Caution-- If youforget the username or password you will be locked out of therouter permanently.
Be very sureyou know the risks before using this command.
Command |
---|
systemconfig resetbutton=disabled |
saveall |
Undo-- Enable the Factory Reset Button (Default)
Command |
---|
systemconfig resetbutton=enabled |
saveall |
FixaProblemwith VOIP not working
Command |
---|
connectionunbind application=SIP port=5060 |
saveall |
Undo--Default
Command |
---|
connectionbind application=SIP port=5060 |
saveall |
DisableIntrusion Detection (IDS)May help with online game problems but reduces security.
Command |
---|
idsconfig state=disabled |
saveall |
Undo
Command |
---|
idsconfig state=enabled |
saveall |
DisableCPU Low Clock Speed -- TG587n v2 and TG582n
Make the router more responsive.
Command | Comments |
---|---|
pwrconfig | Optional- view state |
pwrconfigcpu-lowspeed=disabled | Disableslow speed CPU |
saveall | Makepermanent |
Undo-- default
Command | Comments |
---|---|
pwrconfigcpu-lowspeed=enabled | Enableslow speed CPU |
saveall | Makepermanent |
Additionalpwr configcommands
Command | Comments |
---|---|
pwr configeco-manager=enabled / disabled | TheECO manager |
pwrconfigcpu-microsleep=enabled / disabled | Allowthe CPU to use low power instructions |
pwrconfigcpu-lowspeed=enabled /disabled | Allowsthe CPU to adjust it's clock speed. |
pwrconfigusb-controller=enabled / disabled | TheUSB controller |
pwrconfigwlan-pwrcontrol=enabled / disabled | WirelessLAN power control |
Note:
There are reports that having these power settings enabled can causeintermittent network and internet access problems.
Disabling all of these settings followed by a router reboot cured theproblem.
Awaiting more information on this issue.
Cone-typeNAT's for Teredo Tunneling
Required for WindowsMeeting Space
The default for a Thomson router is symmetric-type NATs
UPnP needs to be enabled in the routers GUI.
Test with Microsoft's Internet Connectivity Evaluation Tool
Command |
---|
connectionbind application=CONE(UDP) port=3544 |
saveall |
Undo-- return to the default of symmetric-type NATs
Command |
---|
connectionunbind application=CONE(UDP) port=3544 |
saveall |
LogWeb Site Visits
Command | Comments |
---|---|
dsdconfig state=enabled | Enableaddress based filtering. |
dsdsyslog config syslog=all | Selectwhat to log |
saveall | Makethe change permanent. |
dsdsyslog list | Usethis command to view the log. Alternatively use a syslog client as show in the syslog commands above. |
syslogmsgbuf flush | Emptythe log. -- Optional |
Undo
Command | Comments |
---|---|
dsdsyslog config syslog=none | |
dsdconfig state=disabled | |
saveall |
SNTP -- Change time server settings
Command | Comments |
---|---|
sntp list | Listthe time servers |
sntp addname=2.uk.pool.ntp.org | Adda time server. This can be done in the routers GUI |
sntp deletename=2.uk.pool.ntp.org | Deletea time server. This can be done in the routers GUI |
sntp configpoll=360 saveall | Setpoll interval to 6 hours. Default is 60 minutes. |
system settime | Viewsystem time settings |
Unbindthe FTP ALG -- Fix access problem to a local FTP server from theinternet.
Technicolor Mac Address Filtering On Hp Printer
Normal port forward rules are still required.Command | Comments |
---|---|
connectionbindlist | Optional- view the bind list |
connectionunbind application=FTP port=21 | Unbindthe FTP helper |
connectionbindlist | Optional- view the bind list |
saveall | Makepermanent |
Undo
Command | Comments |
---|---|
connectionbind application=FTP port=21 | Bindthe FTP helper to port 21 |
connectionbindlist | Optional- view the bind list |
saveall | Makepermanent |
DLNAServer (Media Sharing) Not Discovered Across LAN / WLAN. SOLVEDThis issue is present in firmware 8.2.7.7 Don'tknow about other firmware versions.
Command | Comments |
---|---|
eth bridgeigmpsnooping config | Viewpresent state. If state=enabled then apply the fix |
eth bridgeigmpsnooping config brname=bridge state=disabled | Applyfix |
saveall | Makepermanent |
Turn Off LED Lights
Command | Comments |
---|---|
system qualled value=alloff | Turnall LED's off |
saveall | Makepermanent |
Undo-- Enable LED lights
Command | Comments |
---|---|
system qualled value=unlock | EnableLED's |
saveall | Makepermanent |
Correct The Decimal (.) and Digit (,)Separators
Some firmware versions confuse the decimal point with the comma.
Command | Comment |
---|---|
system locale | Displaypresent settings |
system localedec_symbol=. | Assignthe decimal point |
system localegroup_symbol=, | Assignthe comma |
saveall | Makepermanent |
No Auto Retrain
Prevent reconnecting after dropping the ADSL connection
Commands | Comments |
---|---|
xdslqual freeze-showtime state=enabled | Stop reconnecting |
saveall | Make permanent |
Undo
Commands | Comments |
---|---|
xdslqual freeze-showtime state=disable | Default |
saveall | Make permanent |
Throttle Speed Through a EthernetPort -- Shaper
Commands | Comments |
---|---|
ethswitch shaper iflist | Use anytime to view shaper settings |
ethswitch shaper ifconfig port=1 ingress=disabled shaper=0 state=enabledspeed=384000 burstsize=16 | Ethernet port 1 Egress speed 384000 bps |
ethswitch shaper ifconfig port=1 ingress=enabled shaper=0 state=enabledspeed=768000 burstsize=16 | Ethernet port 1 Ingress speed 768000 bps |
ethswitch shaper config shaper=0 unicast=enabled multicast=enabledbroadcast=enabled control=disabled unknown=enabled discard=disablednormalize=disabled exclude_ipg=disabled | Configure shaper 0 to throttle on ingress, not neededfor egress |
saveall | Make permanent |
Speed automatically notches in steps of 64Kbps.
Note(1) :
The 'intf=Internet'part of the above commands may need to be changed depending on therouters firmware.
ie 'intf=Internet'should be correct for standard firmware.
O2 supplied routers may need 'intf=Internet'replacing with :-
For O2 supplied routers on a LLU connections replace with 'intf=O2_ADSL2plus'or in some cases 'intf=RoutedEthoA'
For O2 supplied routers on the Access service replace with 'intf=O2_ADSL'
Hint - You can check which one to use for the WAN interface by lookingat the results fromthe 'dns server routelist' command.
See the screen capture below, in this case it's 'intf=O2_ADSL2plus'.
Note(2)
To close the telnet session type -- exit-- press 'enter'
You can support this site by signing up via the above link.
Reference
CLIReference Guide TG857n v2 r8.4.3
This reference guide also shows all the hidden commands.
Source Produced by Alexat www.modem-help.co.uk
Thomson CLI Reference Guide TG587n
Thomson CLIReference Guide TG585 v7
Technicolor CustomerRelease Note - Main Track R8.4.3 Maintenance 2
Telnetcommands for aThomson router
Change DNS Settings on a ThomsonRouter -- (Two methods)
MultipleSSID
Web Access Control Schedule (TOD)
Webcontent filter
Telnet scripting
Mac Address Filtering 2wire
EnableWDSConnectTwo ThomsonRouters Together
BasicDMZ on a Thomson Router
AdvancedDMZ on a Thomson TG587n
Forwardall ports to a specific LANIP
IPQoS
Wakeon LAN from Internet
Xboxand PS3 on a Thomson router
RemoteAccess to a Thomson Router
Fixa problem with VPN (IPSec) Connections(Firmware Release 8.4.3only)
Fixa problem with VPN (PPTP) Connections
BridgeMode and Create a EWAN Port
HomePage
Note
- If MAC Filtering is enabled on a wireless router, any wireless devices connected to that router will be unable to connect until their MAC address is entered into the MAC Filter settings.
- For troubleshooting purposes, you do not need to enable MAC Filtering if this is already disabled. If you wish to use this feature on your network, we recommend you contact the router manufacturer for assistance in setting this up.
Complete these steps
- Log in to your router settings.
- Search through your router's settings until you locate the tab or setting MAC Filtering.
- This is most often found within a router's Wireless or Wireless Security options.
- Depending on your router, MAC Filtering may also may be referred to as MAC Address Control, Address Reservation, or Wireless MAC Authentication.
- If MAC Filtering is on or enabled, you will need to add your Nintendo system's MAC Address to the list of allowed devices and save or apply this change. If you do not wish to have MAC Filtering on for your network, simply turn it off or disable it.
- Please note that while Nintendo provides this information for our consumer’s use, it is up to each consumer to determine what security needs they have for their own networks, and to decide how best to configure their network settings to meet those needs.